Only show commands available to the user
This commit is contained in:
9
auth.go
9
auth.go
@ -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
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -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))
|
||||
}
|
||||
@ -74,7 +73,6 @@ func messageCreate(s *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func handlePM(s *discordgo.Session, m *discordgo.MessageCreate) {
|
||||
defer log.PanicSafe()
|
||||
|
||||
Reference in New Issue
Block a user