Skip to content

Using Slash Commands

The library provides a slash command framework to define commands with decorators and register them with Discord.

from disagreement import AppCommandGroup

bot_commands = AppCommandGroup("bot", "Bot commands")

@bot_commands.command(name="ping")
async def ping(ctx):
    await ctx.respond("Pong!")

Use AppCommandGroup to group related commands. See the components guide for building interactive responses.

Next Steps

Command Persistence

AppCommandHandler.sync_commands can persist registered command IDs in .disagreement_commands.json. When enabled, subsequent syncs compare the stored IDs to the commands defined in code and only create, edit or delete commands when changes are detected.

Call AppCommandHandler.clear_stored_registrations() if you need to wipe the stored IDs or migrate them elsewhere with AppCommandHandler.migrate_stored_registrations().