diff options
| author | Xe Iaso <me@xeiaso.net> | 2023-06-17 08:11:33 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2023-06-17 08:11:33 -0400 |
| commit | 1e4998c429d2cf40f947d8bd8ce29691ec102ff1 (patch) | |
| tree | 9d9d2d7d9700a092f6d233efb3f0ada9f98b6bc6 /cmd | |
| parent | 0b4d9abb80af44b026bd5f0e46cd7d303f059d73 (diff) | |
| download | x-1e4998c429d2cf40f947d8bd8ce29691ec102ff1.tar.xz x-1e4998c429d2cf40f947d8bd8ce29691ec102ff1.zip | |
cmd/marabot: log user info for webhooks
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/marabot/main.go | 13 | ||||
| -rw-r--r-- | cmd/marabot/schema.sql | 8 |
2 files changed, 14 insertions, 7 deletions
diff --git a/cmd/marabot/main.go b/cmd/marabot/main.go index 547194c..5a6ea2b 100644 --- a/cmd/marabot/main.go +++ b/cmd/marabot/main.go @@ -74,7 +74,6 @@ func main() { } dg.AddHandler(mr.DiscordMessageCreate) - dg.AddHandler(mr.DiscordMessageDelete) dg.AddHandler(mr.DiscordMessageEdit) if err := dg.Open(); err != nil { @@ -138,12 +137,6 @@ func main() { } } -func (mr *MaraRevolt) DiscordMessageDelete(s *discordgo.Session, m *discordgo.MessageDelete) { - if _, err := mr.db.Exec("DELETE FROM discord_messages WHERE id = ?", m.ID); err != nil { - ln.Error(context.Background(), err) - } -} - func (mr *MaraRevolt) DiscordMessageEdit(s *discordgo.Session, m *discordgo.MessageUpdate) { if _, err := mr.db.Exec("UPDATE discord_messages SET content = ?, edited_at = ? WHERE id = ?", m.Content, time.Now().Format(time.RFC3339), m.ID); err != nil { ln.Error(context.Background(), err) @@ -168,6 +161,12 @@ DO UPDATE SET username = EXCLUDED.username, avatar_url = EXCLUDED.avatar_url, ac return err } + if m.WebhookID != "" { + if _, err := mr.db.Exec("INSERT INTO discord_webhook_message_info (id, name, avatar_url) VALUES (?, ?, ?)", m.ID, m.Author.Username, m.Author.AvatarURL("")); err != nil { + return err + } + } + for _, att := range m.Attachments { if _, err := mr.db.Exec(`INSERT INTO discord_attachments (id, message_id, url, proxy_url, filename, content_type, width, height, size) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, att.ID, m.ID, att.URL, att.ProxyURL, att.Filename, att.ContentType, att.Width, att.Height, att.Size); err != nil { return err diff --git a/cmd/marabot/schema.sql b/cmd/marabot/schema.sql index b95c4c7..10a01fd 100644 --- a/cmd/marabot/schema.sql +++ b/cmd/marabot/schema.sql @@ -1,3 +1,5 @@ +PRAGMA journal_mode=WAL; + CREATE TABLE IF NOT EXISTS discord_roles ( id TEXT PRIMARY KEY, guild_id TEXT NOT NULL, @@ -25,6 +27,12 @@ CREATE TABLE IF NOT EXISTS discord_messages ( webhook_id TEXT ); +CREATE TABLE IF NOT EXISTS discord_webhook_message_info ( + id TEXT PRIMARY KEY, + name TEXT NOT NULL, + avatar_url TEXT NOT NULL +); + CREATE TABLE IF NOT EXISTS discord_attachments ( id TEXT PRIMARY KEY, message_id TEXT NOT NULL, |
