role updates

- bolt will now ensure role is present before exec payload
- readme updates
- removed author struct since roles are checked in bolt framework
This commit is contained in:
2025-06-04 16:47:50 -04:00
parent 381073dc39
commit 6ae84c0d5b
3 changed files with 22 additions and 12 deletions

24
bolt.go
View File

@@ -4,6 +4,7 @@ import (
"fmt"
"log"
"os"
"slices"
"strings"
"time"
@@ -118,12 +119,27 @@ func (b *bolt) messageHandler(s *dg.Session, msg *dg.MessageCreate) {
return //running too soon, maybe respond letting know time remaining
}
//does user have correct permissions
if run.Roles != nil {
for _, r := range msg.Member.Roles {
n, err := s.State.Role(msg.GuildID, r)
if err != nil {
log.Println(err)
return
}
check := slices.Contains(run.Roles, n.Name)
if check {
break
}
}
//can't find role, don't run command
return
}
//run command payload
res, err := run.Payload(Message{
Author: Author{
Username: msg.Author.Username,
Roles: msg.Member.Roles,
},
Author: msg.Author.Username,
Words: words,
Message: msg.Content,
Channel: channel.Name,