Slash commands manager for discordgo
go get github.com/ethanent/discordgo-scm
SCM is based around the concept of a Feature. It’s meant
to be a somewhat futureproof way to handle all kinds of Discord interactions.
You may create Features for a number of different interaction types, including ApplicationCommand,
ApplicationCommandAutocomplete, and MessageComponent.
|Interaction Type||Relevant Feature Properties|
|discordgo.InteractionApplicationCommand||Type, Handler, ApplicationCommand|
|discordgo.InteractionApplicationCommandAutocomplete||Type, Handler, ApplicationCommand|
|discordgo.InteractionMessageComponent||Type, Handler, CustomID|
Now, to actually use the library, you must create an SCM and add Features.
Create an SCM:
m := scm.NewSCM()
Add a Feature to your SCM:
Have your SCM handle interactions with a bot:
Register ApplicationCommands with your bot:
// Where s is your discordgo session err := m.CreateCommands(s, "") // Please handle your errors :)
Delete ApplicationCommands once bot shuts down:
See the godoc for full details.