diff --git a/database/message.go b/database/message.go index bf2ca4e..d4a375a 100644 --- a/database/message.go +++ b/database/message.go @@ -132,6 +132,9 @@ type MessagePart struct { } func (m *Message) MassInsert(msgs []MessagePart) { + if len(msgs) == 0 { + return + } valueStringFormat := "($1, $%d, $2, $3, $4, $5, $6, $7, $%d)" if m.db.Dialect == dbutil.SQLite { valueStringFormat = strings.ReplaceAll(valueStringFormat, "$", "?") diff --git a/portal.go b/portal.go index 1190be6..e50f5fd 100644 --- a/portal.go +++ b/portal.go @@ -645,7 +645,11 @@ func (portal *Portal) handleDiscordMessageCreate(user *User, msg *discordgo.Mess parts = append(parts, *part) } } - portal.markMessageHandled(msg.ID, 0, msg.Author.ID, ts, threadID, parts) + if len(parts) == 0 { + portal.log.Warnfln("Unhandled message %q", msg.ID) + } else { + portal.markMessageHandled(msg.ID, 0, msg.Author.ID, ts, threadID, parts) + } } func (portal *Portal) handleDiscordMessageUpdate(user *User, msg *discordgo.Message) {