Create channels from vocal channel

This commit is contained in:
Matte23
2021-10-29 09:04:27 +02:00
parent 995955ac94
commit 58e540656f
3 changed files with 125 additions and 1 deletions

22
main.go
View File

@@ -49,6 +49,8 @@ func main() {
// Register the messageCreate func as a callback for MessageCreate events.
dg.AddHandler(handleMessage)
dg.AddHandler(handleVoiceActivity)
dg.Identify.Intents = discordgo.MakeIntent(discordgo.IntentsAll)
// Open a websocket connection to Discord and begin listening.
err = dg.Open()
@@ -67,6 +69,26 @@ func main() {
dg.Close()
}
func handleVoiceActivity(s *discordgo.Session, vs *discordgo.VoiceStateUpdate) {
if val, ok := newChannelEndpoint[vs.GuildID]; ok {
if vs.ChannelID == "" {
removeUserFromChannels(s, vs)
return
}
if vs.ChannelID == val.ID {
removeUserFromChannels(s, vs)
createNewChannel(s, vs)
} else if _, ok := createdChannels[vs.GuildID][vs.ChannelID]; ok {
createdChannels[vs.GuildID][vs.ChannelID] = append(createdChannels[vs.GuildID][vs.ChannelID], vs.UserID)
} else {
removeUserFromChannels(s, vs)
}
} else {
initChannels(s, vs.GuildID)
}
}
// This function will be called (due to AddHandler above) every time a new
// message is created on any channel that the autenticated bot has access to.
func handleMessage(s *discordgo.Session, m *discordgo.MessageCreate) {