Compare commits

..

2 Commits

Author SHA1 Message Date
Chris Sexton 3482c0c8e4 roles: enable the set offering command 2022-07-29 07:07:31 -04:00
Chris Sexton c3e1a72f9a bot: fix admin to respect ID instead of nick 2022-07-29 07:07:31 -04:00
4 changed files with 9 additions and 10 deletions

View File

@ -260,11 +260,11 @@ func IsCmd(c *config.Config, message string) (bool, string) {
return iscmd, message
}
func (b *bot) CheckAdmin(nick string) bool {
func (b *bot) CheckAdmin(ID string) bool {
admins := b.Config().GetArray("Admins", []string{})
log.Info().Interface("admins", admins).Msgf("Checking admin for %s", nick)
log.Info().Interface("admins", admins).Msgf("Checking admin for %s", ID)
for _, u := range admins {
if nick == u {
if ID == u {
log.Info().Msg("%s admin check: passed")
return true
}

View File

@ -109,7 +109,7 @@ var getConfigRegex = regexp.MustCompile(`(?i)^get (?P<key>\S+)$`)
func (p *AdminPlugin) isAdmin(rh bot.ResponseHandler) bot.ResponseHandler {
return func(r bot.Request) bool {
if !p.bot.CheckAdmin(r.Msg.User.Name) {
if !p.bot.CheckAdmin(r.Msg.User.ID) {
log.Debug().Msgf("User %s is not an admin", r.Msg.User.Name)
return false
}

View File

@ -179,7 +179,7 @@ func (p *FirstPlugin) register() {
{Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?i)^clear first$`),
Handler: func(r bot.Request) bool {
if !p.bot.CheckAdmin(r.Msg.User.Name) {
if !p.bot.CheckAdmin(r.Msg.User.ID) {
p.bot.Send(r.Conn, bot.Message, r.Msg.Channel, "You are not authorized to do that.")
return true
}

View File

@ -46,10 +46,9 @@ func (p *RolesPlugin) Register() {
Handler: p.lsRoles,
},
{
Kind: bot.Help, IsCmd: true,
Regex: regexp.MustCompile(`.`),
HelpText: "Lists roles with an optional offering set specifier",
Handler: p.lsRoles,
Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?i)^setoffering (?P<offering>.+)$`),
Handler: p.setOffering,
},
}
p.b.Register(p, bot.Help, func(c bot.Connector, k bot.Kind, m msg.Message, args ...any) bool {
@ -124,7 +123,7 @@ func (p *RolesPlugin) lsRoles(r bot.Request) bool {
}
func (p *RolesPlugin) setOffering(r bot.Request) bool {
if !p.b.CheckAdmin(r.Msg.User.Name) {
if !p.b.CheckAdmin(r.Msg.User.ID) {
p.b.Send(r.Conn, bot.Message, r.Msg.Channel, "You must be an admin to set an offering.")
return true
}