You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.7 KiB

package main
import (
"github.com/kf5grd/keybasebot"
"github.com/kf5grd/keybasebot/pkg/kvstore"
"samhofi.us/x/keybase/v2/types/chat1"
)
func setNsfw(m chat1.MsgSummary, b *keybasebot.Bot) (bool, error) {
b.KB.SendMessageByConvID(m.ConvID, "Pong!")
b.Logger.Info("owner command in convid %s", m.ConvID)
return true, nil
}
func addNsfwTeam(b *keybasebot.Bot, c chat1.ConvIDStr) bool {
allowedTeams := make(map[chat1.ConvIDStr]bool)
// get the allowed teams
data, ok := b.Meta["nsfwAllowed"]
if !ok {
// the key doesn't exist yet so go ahead and create it
allowedTeams[c] = true
} else {
// the key exists and needs to be updated
allowedTeams := data.(map[chat1.ConvIDStr]bool)
allowedTeams[c] = true
}
// write the key to meta
b.Meta["nsfwAllowed"] = allowedTeams
// write the key to kvStore if enabled
data, ok = b.Meta["kvstore"]
if ok {
team := data.(string)
kvKey := kvstore.New("nsfwAllowed", allowedTeams, -1)
err := kvstore.Put(b.KB, team, "ssh0le", kvKey)
if err != nil {
return false
}
}
return true
}
func delNsfwTeam(b *keybasebot.Bot, c chat1.ConvIDStr) bool {
allowedTeams := make(map[chat1.ConvIDStr]bool)
// get the allowed teams
data, ok := b.Meta["nsfwAllowed"]
if !ok {
// the key doesn't exist yet so go return
return true
} else {
// the key exists and needs to be updated
allowedTeams := data.(map[chat1.ConvIDStr]bool)
delete(allowedTeams, c)
}
// write the key to meta
b.Meta["nsfwAllowed"] = allowedTeams
// write the key to kvStore if enabled
data, ok = b.Meta["kvstore"]
if ok {
team := data.(string)
kvKey := kvstore.New("nsfwAllowed", allowedTeams, -1)
err := kvstore.Put(b.KB, team, "ssh0le", kvKey)
if err != nil {
return false
}
}
return true
}