Compare commits

...

2 Commits

Author SHA1 Message Date
Chris Sexton 6707902caf fact: don't look for is actions 2023-03-05 15:48:48 -05:00
Chris Sexton d1986be68a gpt: make gpt the catchall 2023-03-05 15:35:01 -05:00
4 changed files with 31 additions and 30 deletions

View File

@ -151,7 +151,27 @@ func (d *Discord) sendMessage(channel, message string, meMessage bool, args ...a
Interface("data", data).
Msg("sending message")
st, err := d.client.ChannelMessageSendComplex(channel, data)
maxLen := 2000
chunkSize := maxLen - 100
var st *discordgo.Message
var err error
if len(data.Content) > maxLen {
tmp := data.Content
data.Content = tmp[:chunkSize]
st, err = d.client.ChannelMessageSendComplex(channel, data)
if err != nil {
return "", err
}
for i := chunkSize; i < len(data.Content); i += chunkSize {
data := &discordgo.MessageSend{Content: tmp[i : i+chunkSize]}
st, err = d.client.ChannelMessageSendComplex(channel, data)
if err != nil {
break
}
}
} else {
st, err = d.client.ChannelMessageSendComplex(channel, data)
}
//st, err := d.client.ChannelMessageSend(channel, message)
if err != nil {

View File

@ -135,7 +135,6 @@ func main() {
b.AddPlugin(roles.New(b))
b.AddPlugin(twitch.New(b))
b.AddPlugin(pagecomment.New(b))
b.AddPlugin(gpt.New(b))
b.AddPlugin(secrets.New(b))
b.AddPlugin(mayi.New(b))
b.AddPlugin(giphy.New(b))
@ -179,8 +178,9 @@ func main() {
b.AddPlugin(cowboy.New(b))
b.AddPlugin(topic.New(b))
b.AddPlugin(talker.New(b))
// catches anything left, will always return true
b.AddPlugin(fact.New(b))
// catches anything left, will always return true
b.AddPlugin(gpt.New(b))
if err := client.Serve(); err != nil {
log.Fatal().Err(err)

View File

@ -90,21 +90,8 @@ func New(botInst bot.Bot) *FactoidPlugin {
// findAction simply regexes a string for the action verb
func findAction(message string) string {
r, err := regexp.Compile("<.+?>")
if err != nil {
panic(err)
}
action := r.FindString(message)
if action == "" {
if strings.Contains(message, " is ") {
return "is"
} else if strings.Contains(message, " are ") {
return "are"
}
}
return action
r := regexp.MustCompile("<.+?>")
return r.FindString(message)
}
// learnFact assumes we have a learning situation and inserts a new fact
@ -485,18 +472,7 @@ func (p *FactoidPlugin) register() {
return true
}
notFound := p.c.GetArray("fact.notfound", []string{
"I don't know.",
"NONONONO",
"((",
"*pukes*",
"NOPE! NOPE! NOPE!",
"One time, I learned how to jump rope.",
})
// We didn't find anything, panic!
p.b.Send(c, bot.Message, message.Channel, notFound[rand.Intn(len(notFound))])
return true
return false
}},
}
p.b.RegisterTable(p, p.handlers)

View File

@ -54,6 +54,11 @@ func (p *GPTPlugin) register() {
HelpText: "set the ChatGPT prompt",
Handler: p.setPromptMessage,
},
{
Kind: bot.Message, IsCmd: true,
Regex: regexp.MustCompile(`(?P<text>.*)`),
Handler: p.chatMessage,
},
}
log.Debug().Msg("Registering GPT3 handlers")
p.b.RegisterTable(p, p.h)