Skip to content

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!

    Learn more

  • Hikari Fundamentals


    Learn the basics of how to use hikari, the foundation upon which arc builds.

    Learn more

  • Interactions


    Learn how app commands work under the hood, and what you can do with them!

    Learn more

  • Options


    Add options to your slash commands to get user input, set constraints, autocomplete, and more!

    Learn more

  • Command Groups


    Group your commands into command groups and subgroups, nest subcommands to create a cohesive experience!

    Learn more

  • Context Menus


    Add commands directly to right-click context menus via user and message commands!

    Learn more

  • Startup & Shutdown


    Manage the lifecycle of your client using startup and shutdown hooks!

    Learn more

  • Hooks


    Execute arbitrary logic before or after a command was run, perform checks, add cooldowns & more!

    Learn more

  • Error Handling


    Handle errors on the command, plugin or client level with customizable error handlers!

    Learn more

  • Plugins & Extensions


    Group commands into plugins & learn how you can seperate your bot into multiple source files!

    Learn more

  • 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!

    Learn more

  • Loops


    Repeatedly call functions with a specific interval or crontab, allowing you to schedule basic tasks.

    Learn more

  • Limiting Concurrency


    Prevent users from invoking your command while it is already running with customizable concurrency limiters!

    Learn more

  • Events


    Listen to, and handle events coming through the Discord Gateway, such as message being sent, channels being created, & much more!

    Learn more