diff options
| author | Nathan Perry <avaglir@gmail.com> | 2017-07-29 18:02:10 -0400 |
|---|---|---|
| committer | Nathan Perry <avaglir@gmail.com> | 2017-07-29 18:02:10 -0400 |
| commit | 9bd93434fbefc56ac6c154c569e064cc7e5f956d (patch) | |
| tree | f1aee399f1fc0ecd3d61c64654c83b1bbbcd8fb4 /thulani.go | |
| parent | deac22dffb03829216138d90e74423384b4c2c80 (diff) | |
working on adding playback commandsgo
Diffstat (limited to 'thulani.go')
| -rw-r--r-- | thulani.go | 24 |
1 files changed, 16 insertions, 8 deletions
@@ -68,12 +68,14 @@ func onGuildCreate(s *discordgo.Session, m *discordgo.GuildCreate) { perms := 0 + //log.Debugf("listing roles for %v", m.Name) for _, role := range m.Roles { + //log.Debugf("%q (%v)", role.Name, role.ID) for _, mRole := range member.Roles { if role.ID == mRole { perms |= role.Permissions - log.Infof("discovered role: %v (%v)", role.Name, role.ID) + log.Infof("discovered own role: %v (%v)", role.Name, role.ID) } } } @@ -125,15 +127,20 @@ func onMessage(s *discordgo.Session, m *discordgo.MessageCreate) { fn, ok := cmdMap[strings.ToLower(ctx.Command)] if ok { - authorized := false + log.Debugf("message matched a known command: %q", strings.ToLower(ctx.Command)) - for _, role := range ctx.Guild.Roles { - for _, v := range ctx.Member.Roles { - if v != role.Name { - continue - } + authorized := ctx.Author.ID == config.AdminStr() + + if !authorized { + authorMember, err := ctx.GuildMember(ctx.Guild.ID, ctx.Author.ID) + if err != nil { + log.Errorf("unable to get guild member for id %q", ctx.Author.Username) + ctx.sendMessage("who the fuck are you?", true) + return + } - if role.Name == config.OpRole { + for _, v := range authorMember.Roles { + if v == config.OpRoleStr() { authorized = true } } @@ -145,6 +152,7 @@ func onMessage(s *discordgo.Session, m *discordgo.MessageCreate) { return } + log.Debugf("user was authorized for %q. executing.", strings.ToLower(ctx.Command)) fn(ctx) return } |
