add time command

This commit is contained in:
Ryan Cavicchioni 2022-07-27 22:04:02 -05:00
parent b1824f8d33
commit 7031bcce40
Signed by: ryanc
GPG Key ID: 877EEDAF9245103D

54
command/time.go Normal file
View File

@ -0,0 +1,54 @@
package command
import (
"fmt"
"strings"
"time"
"github.com/bwmarrin/discordgo"
log "github.com/sirupsen/logrus"
)
const ()
var ()
type (
TimeHandler struct{}
)
func NewTimeHandler() *TimeHandler {
var h *TimeHandler = new(TimeHandler)
return h
}
func (h *TimeHandler) Handle(s *discordgo.Session, m *discordgo.MessageCreate) {
var tz string
if m.Author.ID == s.State.User.ID {
return
}
if !strings.HasPrefix(m.Content, "!time") {
return
}
x := strings.SplitN(m.Content, " ", 2)
if len(x) != 2 {
s.ChannelMessageSend(m.ChannelID, "help: `!time TIMEZONE`")
return
}
tz = x[1]
loc, err := time.LoadLocation(tz)
if err != nil {
log.Warnf("failed to load location: %s", err)
return
}
now := time.Now()
s.ChannelMessageSend(m.ChannelID, fmt.Sprint(now.In(loc)))
}