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:
24
bolt.go
24
bolt.go
@@ -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,
|
||||
|
Reference in New Issue
Block a user