diff --git a/src/d2m/actions/send-message.js b/src/d2m/actions/send-message.js index a6426b8..283f2ec 100644 --- a/src/d2m/actions/send-message.js +++ b/src/d2m/actions/send-message.js @@ -55,13 +55,14 @@ async function sendMessage(message, channel, guild, row) { } } + let sentResultsMessage if (message.type === DiscordTypes.MessageType.PollResult) { // ensure all Discord-side votes were pushed to Matrix before a poll is closed const detailedResultsMessage = await pollEnd.endPoll(message) if (detailedResultsMessage) { const threadParent = select("channel_room", "thread_parent", {channel_id: message.channel_id}).pluck().get() const channelID = threadParent ? threadParent : message.channel_id const threadID = threadParent ? message.channel_id : undefined - var sentResultsMessage = await channelWebhook.sendMessageWithWebhook(channelID, detailedResultsMessage, threadID) + sentResultsMessage = await channelWebhook.sendMessageWithWebhook(channelID, detailedResultsMessage, threadID) } } @@ -118,7 +119,8 @@ async function sendMessage(message, channel, guild, row) { db.transaction(() => { db.prepare("INSERT OR IGNORE INTO message_room (message_id, historical_room_index) VALUES (?, ?)").run(sentResultsMessage.id, historicalRoomIndex) db.prepare("UPDATE event_message SET reaction_part = 1 WHERE event_id = ?").run(eventID) - db.prepare("INSERT INTO event_message (event_id, event_type, event_subtype, message_id, part, reaction_part, source) VALUES (?, ?, ?, ?, ?, ?, 1)").run(eventID, eventType, event.msgtype || null, sentResultsMessage.id, 1, 0) // part = 1, reaction_part = 0 + // part = 1, reaction_part = 0, source = 0 as the results are "from Matrix" and doing otherwise breaks things when that message gets updated by Discord (it just does that sometimes) + db.prepare("INSERT INTO event_message (event_id, event_type, event_subtype, message_id, part, reaction_part, source) VALUES (?, ?, ?, ?, ?, ?, 0)").run(eventID, eventType, event.msgtype || null, sentResultsMessage.id, 1, 0) })() } diff --git a/src/d2m/converters/edit-to-changes.js b/src/d2m/converters/edit-to-changes.js index 86a4028..82b9417 100644 --- a/src/d2m/converters/edit-to-changes.js +++ b/src/d2m/converters/edit-to-changes.js @@ -45,7 +45,7 @@ async function editToChanges(message, guild, api) { // Since an update in August 2024, the system always provides the full data of message updates. // Now, this code path is only used by generated embeds for messages that were originally sent from Matrix. - const originallyFromMatrix = oldEventRows.find(r => r.part === 0)?.source === 0 + const originallyFromMatrix = oldEventRows.some(r => r.source === 0) const mightBeGeneratedEmbed = !("content" in message) || originallyFromMatrix // Figure out who to send as