Only show commands available to the user

This commit is contained in:
2021-05-05 23:12:45 -04:00
parent 06da80de97
commit 77b6e9c780
3 changed files with 19 additions and 6 deletions

View File

@ -186,3 +186,12 @@ func idFromUsername(username string) string {
}
return userID
}
func isAdmin(m *discordgo.Member) bool {
for role := range m.Roles {
if fmt.Sprintf("%+v", role) == config.AdminRole {
return true
}
}
return false
}

View File

@ -75,8 +75,14 @@ func Commands(b BotCommand) bool {
defer log.PanicSafe()
print := "Available commands:\n"
for _, cmd := range commands {
if cmd.RequiresAdmin {
if isAdmin(b.Message.Member) {
print += fmt.Sprintf("```%+v\n%+v\n%+v```\n", cmd.Name, cmd.Keywords, cmd.Help)
}
} else {
print += fmt.Sprintf("```%+v\n%+v\n%+v```\n", cmd.Name, cmd.Keywords, cmd.Help)
}
}
return true
}

View File

@ -62,8 +62,7 @@ func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
s.ChannelMessageSend(config.AdminChannel, fmt.Sprintf("There was an error running %+v\n%+v", cmd.Name, cmd.Help))
}
} else {
for role := range m.Member.Roles {
if fmt.Sprintf("%+v", role) == config.AdminRole {
if isAdmin(m.Member) {
if !cmd.Exec(b) {
s.ChannelMessageSend(config.AdminChannel, fmt.Sprintf("There was an error running %+v\n%+v", cmd.Name, cmd.Help))
}
@ -73,7 +72,6 @@ func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
}
}
}
}
}
func handlePM(s *discordgo.Session, m *discordgo.MessageCreate) {