2022-08-24 09:06:00 -05:00
|
|
|
package handler
|
2022-07-26 09:28:02 -05:00
|
|
|
|
|
|
|
import (
|
2022-08-23 11:52:36 -05:00
|
|
|
"git.kill0.net/chill9/beepboop/bot"
|
2022-08-27 09:00:35 -05:00
|
|
|
"git.kill0.net/chill9/beepboop/lib"
|
2022-07-26 09:28:02 -05:00
|
|
|
"github.com/bwmarrin/discordgo"
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
|
)
|
|
|
|
|
2022-07-27 23:43:08 -05:00
|
|
|
type (
|
2022-08-03 23:52:08 -05:00
|
|
|
PingHandler struct {
|
2022-08-23 11:52:36 -05:00
|
|
|
config bot.Config
|
2022-08-27 09:00:35 -05:00
|
|
|
Name string
|
2022-08-03 23:52:08 -05:00
|
|
|
}
|
2022-07-27 23:43:08 -05:00
|
|
|
)
|
|
|
|
|
2022-08-27 09:00:35 -05:00
|
|
|
func NewPingHandler(s string) *PingHandler {
|
2022-09-04 22:36:14 -05:00
|
|
|
return &PingHandler{Name: s}
|
2022-07-27 23:43:08 -05:00
|
|
|
}
|
|
|
|
|
2022-08-23 11:52:36 -05:00
|
|
|
func (h *PingHandler) SetConfig(config bot.Config) {
|
2022-08-03 23:52:08 -05:00
|
|
|
h.config = config
|
|
|
|
}
|
|
|
|
|
2022-07-27 23:43:08 -05:00
|
|
|
func (h *PingHandler) Handle(s *discordgo.Session, m *discordgo.MessageCreate) {
|
2022-07-26 09:28:02 -05:00
|
|
|
if m.Author.ID == s.State.User.ID {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2022-09-05 12:54:56 -05:00
|
|
|
if !lib.ContainsCommand(m.Content, h.config.Prefix, h.Name) {
|
2022-07-26 09:28:02 -05:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
log.Debug("received ping")
|
|
|
|
|
|
|
|
s.ChannelMessageSend(m.ChannelID, "pong")
|
|
|
|
}
|