1.1 KiB
1.1 KiB
Using Slash Commands
The library provides a slash command framework via the ext.app_commands
package. Define commands with decorators and register them with Discord.
from disagreement.ext.app_commands 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()
.