DeathVenom54 / discordgo-scm

Interactions manager for discordgo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

discordgo-scm

Interactions manager for discordgo, forked from ethanent/discordgo-scm.

Install

go get github.com/deathvenom54/discordgo-scm

Usage

SCM is based around the concept of a Feature. It's meant to be a somewhat future-proof 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:

m.AddFeature(myFeature)

Have your SCM handle interactions with a bot:

s.AddHandler(m.HandleInteractionCreate)

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:

m.DeleteCommands(s, "")

See the godoc for full details.

About

Interactions manager for discordgo

License:MIT License


Languages

Language:Go 100.0%