Guides#
In this section you can find various in-depth guides that explain specific topics in detail. There's also fully functional examples in the repository, if you prefer to learn that way.
If you think something is missing or inaccurate, please open an issue!
-
Typing & Type Hints
arc
uses type-hints & typing extensively, so if you need a refresher on what they are, and how to use them, start here! -
Hikari Fundamentals
Learn the basics of how to use
hikari
, the foundation upon whicharc
builds. -
Interactions
Learn how app commands work under the hood, and what you can do with them!
-
Options
Add options to your slash commands to get user input, set constraints, autocomplete, and more!
-
Command Groups
Group your commands into command groups and subgroups, nest subcommands to create a cohesive experience!
-
Context Menus
Add commands directly to right-click context menus via user and message commands!
-
Startup & Shutdown
Manage the lifecycle of your client using startup and shutdown hooks!
-
Hooks
Execute arbitrary logic before or after a command was run, perform checks, add cooldowns & more!
-
Error Handling
Handle errors on the command, plugin or client level with customizable error handlers!
-
Plugins & Extensions
Group commands into plugins & learn how you can seperate your bot into multiple source files!
-
Dependency Injection
Manage state in a type-safe manner using dependency injection, allowing you to use external dependencies in your bot, like a database or http client!
-
Loops
Repeatedly call functions with a specific interval or crontab, allowing you to schedule basic tasks.
-
Limiting Concurrency
Prevent users from invoking your command while it is already running with customizable concurrency limiters!
-
Events
Listen to, and handle events coming through the Discord Gateway, such as message being sent, channels being created, & much more!