aboutsummaryrefslogtreecommitdiff
path: root/thulani.go
diff options
context:
space:
mode:
authorNathan Perry <avaglir@gmail.com>2017-07-29 18:02:10 -0400
committerNathan Perry <avaglir@gmail.com>2017-07-29 18:02:10 -0400
commit9bd93434fbefc56ac6c154c569e064cc7e5f956d (patch)
treef1aee399f1fc0ecd3d61c64654c83b1bbbcd8fb4 /thulani.go
parentdeac22dffb03829216138d90e74423384b4c2c80 (diff)
working on adding playback commandsgo
Diffstat (limited to 'thulani.go')
-rw-r--r--thulani.go24
1 files changed, 16 insertions, 8 deletions
diff --git a/thulani.go b/thulani.go
index d4a222d..1acde39 100644
--- a/thulani.go
+++ b/thulani.go
@@ -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
}