1
0
mirror of https://github.com/mgerb/go-discord-bot synced 2026-01-11 01:22:48 +00:00

added logger

This commit is contained in:
2018-04-09 23:24:19 -05:00
parent 0fe7468506
commit 3e0cd3c948
10 changed files with 245 additions and 4 deletions

View File

@@ -0,0 +1,68 @@
package bothandlers
import (
"strconv"
"strings"
"github.com/bwmarrin/discordgo"
"github.com/mgerb/go-discord-bot/server/logger"
)
// LoggerHandler -
func LoggerHandler(s *discordgo.Session, m *discordgo.MessageCreate) {
// upsert user
user := getUser(m.Author)
user.Save()
// create and save message
timestamp, _ := m.Message.Timestamp.Parse()
editedTimestamp, _ := m.Message.EditedTimestamp.Parse()
attachments := getAttachments(m.Message.Attachments)
message := &logger.Message{
ID: m.Message.ID,
ChannelID: m.Message.ChannelID,
Content: m.Message.Content,
Timestamp: strconv.Itoa(int(timestamp.Unix())),
EditedTimestamp: strconv.Itoa(int(editedTimestamp.Unix())),
MentionRoles: strings.Join(m.Message.MentionRoles, ","),
Tts: m.Message.Tts,
MentionEveryone: m.Message.MentionEveryone,
UserID: m.Author.ID,
Attachments: attachments,
}
message.Save()
}
func getAttachments(att []*discordgo.MessageAttachment) []logger.Attachment {
var attachments []logger.Attachment
for _, a := range att {
newAttachment := logger.Attachment{
MessageID: a.ID,
Filename: a.Filename,
Height: a.Height,
ProxyURL: a.ProxyURL,
Size: a.Size,
URL: a.URL,
Width: a.Width,
}
attachments = append(attachments, newAttachment)
}
return attachments
}
func getUser(u *discordgo.User) *logger.User {
return &logger.User{
ID: u.ID,
Email: u.Email,
Username: u.Username,
Avatar: u.Avatar,
Discriminator: u.Discriminator,
Token: u.Token,
Verified: u.Verified,
MFAEnabled: u.MFAEnabled,
Bot: u.Bot,
}
}