mirror of https://github.com/velour/catbase.git
gpt: silence some rooms
This commit is contained in:
parent
0b787a65a1
commit
448ae768ba
|
@ -106,7 +106,7 @@ func (c *Config) GetString(key, fallback string) string {
|
||||||
q := `select value from config where key=?`
|
q := `select value from config where key=?`
|
||||||
err := c.DB.Get(&configValue, q, key)
|
err := c.DB.Get(&configValue, q, key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug().Msgf("WARN: Key %s is empty", key)
|
log.Info().Msgf("WARN: Key %s is empty", key)
|
||||||
return fallback
|
return fallback
|
||||||
}
|
}
|
||||||
return configValue
|
return configValue
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
|
@ -48,7 +49,7 @@ func (p *GPTPlugin) register() {
|
||||||
Kind: bot.Message, IsCmd: true,
|
Kind: bot.Message, IsCmd: true,
|
||||||
Regex: regexp.MustCompile(`(?is)^gpt (?P<text>.*)`),
|
Regex: regexp.MustCompile(`(?is)^gpt (?P<text>.*)`),
|
||||||
HelpText: "chat completion",
|
HelpText: "chat completion",
|
||||||
Handler: p.chatMessage,
|
Handler: p.chatMessageForce,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Kind: bot.Message, IsCmd: true,
|
Kind: bot.Message, IsCmd: true,
|
||||||
|
@ -62,7 +63,6 @@ func (p *GPTPlugin) register() {
|
||||||
Handler: p.chatMessage,
|
Handler: p.chatMessage,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
log.Debug().Msg("Registering GPT3 handlers")
|
|
||||||
p.b.RegisterTable(p, p.h)
|
p.b.RegisterTable(p, p.h)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,6 +77,14 @@ func (p *GPTPlugin) setPromptMessage(r bot.Request) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *GPTPlugin) chatMessage(r bot.Request) bool {
|
func (p *GPTPlugin) chatMessage(r bot.Request) bool {
|
||||||
|
if slices.Contains(p.c.GetArray("gpt.silence", []string{}), r.Msg.Channel) {
|
||||||
|
log.Debug().Msgf("%s silenced", r.Msg.Channel)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return p.chatMessageForce(r)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *GPTPlugin) chatMessageForce(r bot.Request) bool {
|
||||||
resp, err := p.chatGPT(r.Values["text"])
|
resp, err := p.chatGPT(r.Values["text"])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
resp = fmt.Sprintf("Error: %s", err)
|
resp = fmt.Sprintf("Error: %s", err)
|
||||||
|
|
Loading…
Reference in New Issue