bot: fix admin to respect ID instead of nick

This commit is contained in:
Chris Sexton 2022-07-29 07:00:29 -04:00
parent 1488033c52
commit c3e1a72f9a
4 changed files with 6 additions and 6 deletions

View File

@ -260,11 +260,11 @@ func IsCmd(c *config.Config, message string) (bool, string) {
return iscmd, message return iscmd, message
} }
func (b *bot) CheckAdmin(nick string) bool { func (b *bot) CheckAdmin(ID string) bool {
admins := b.Config().GetArray("Admins", []string{}) 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 { for _, u := range admins {
if nick == u { if ID == u {
log.Info().Msg("%s admin check: passed") log.Info().Msg("%s admin check: passed")
return true 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 { func (p *AdminPlugin) isAdmin(rh bot.ResponseHandler) bot.ResponseHandler {
return func(r bot.Request) bool { 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) log.Debug().Msgf("User %s is not an admin", r.Msg.User.Name)
return false return false
} }

View File

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

View File

@ -124,7 +124,7 @@ func (p *RolesPlugin) lsRoles(r bot.Request) bool {
} }
func (p *RolesPlugin) setOffering(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.") p.b.Send(r.Conn, bot.Message, r.Msg.Channel, "You must be an admin to set an offering.")
return true return true
} }