Compare commits

..

No commits in common. "b59d84b3017e212bba4282c6d0ee8af8eb431678" and "e1ccd553f147d5cadfea6c7ea8fd42091a31b7f3" have entirely different histories.

3 changed files with 0 additions and 80 deletions

View File

@ -429,19 +429,3 @@ func (d *Discord) Nick(nick string) error {
guildID := d.config.Get("discord.guildid", "")
return d.client.GuildMemberNickname(guildID, "@me", nick)
}
func (d *Discord) Topic(channelID string) (string, error) {
channel, err := d.client.Channel(channelID)
if err != nil {
return "", err
}
return channel.Topic, nil
}
func (d *Discord) SetTopic(channelID, topic string) error {
ce := &discordgo.ChannelEdit{
Topic: topic,
}
_, err := d.client.ChannelEditComplex(channelID, ce)
return err
}

View File

@ -4,7 +4,6 @@ package main
import (
"flag"
"github.com/velour/catbase/plugins/topic"
"io"
"math/rand"
"os"
@ -174,7 +173,6 @@ func main() {
b.AddPlugin(quotegame.New(b))
b.AddPlugin(emojy.New(b))
b.AddPlugin(cowboy.New(b))
b.AddPlugin(topic.New(b))
// catches anything left, will always return true
b.AddPlugin(fact.New(b))

View File

@ -1,62 +0,0 @@
package topic
import (
"fmt"
"github.com/rs/zerolog/log"
"github.com/velour/catbase/bot"
"github.com/velour/catbase/config"
"github.com/velour/catbase/connectors/discord"
"regexp"
"strings"
)
type Topic struct {
b bot.Bot
c *config.Config
}
func New(b bot.Bot) *Topic {
t := &Topic{
b: b,
c: b.Config(),
}
t.register()
return t
}
func (p *Topic) register() {
p.b.RegisterRegexCmd(p, bot.Message, regexp.MustCompile(`(?i)^topic$`), func(r bot.Request) bool {
switch conn := r.Conn.(type) {
case *discord.Discord:
topic, err := conn.Topic(r.Msg.Channel)
if err != nil {
log.Error().Err(err).Msg("couldn't get topic")
return false
}
p.b.Send(conn, bot.Message, r.Msg.Channel, fmt.Sprintf("Topic: %s", topic))
return true
}
return false
})
p.b.RegisterRegexCmd(p, bot.Message, regexp.MustCompile(`(?i)^topic (?P<topic>.*)`), func(r bot.Request) bool {
topic := strings.TrimPrefix(r.Msg.Body, "topic ")
switch conn := r.Conn.(type) {
case *discord.Discord:
err := conn.SetTopic(r.Msg.Channel, topic)
if err != nil {
log.Error().Err(err).Msg("couldn't set topic")
return false
}
topic, err := conn.Topic(r.Msg.Channel)
if err != nil {
log.Error().Err(err).Msg("couldn't get topic")
return false
}
p.b.Send(conn, bot.Message, r.Msg.Channel, fmt.Sprintf("Topic: %s", topic))
return true
}
return false
})
}