Compare commits
2 commits
5f0e765934
...
1f5865b0d8
Author | SHA1 | Date | |
---|---|---|---|
1f5865b0d8 | |||
b6b65992f7 |
3 changed files with 14 additions and 1 deletions
|
@ -244,6 +244,8 @@ module.exports = {
|
||||||
if (row) return // The message was sent by the bridge's own webhook on discord. We don't want to reflect this back, so just drop it.
|
if (row) return // The message was sent by the bridge's own webhook on discord. We don't want to reflect this back, so just drop it.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dUtils.isEphemeralMessage(message)) return // Ephemeral messages are for the eyes of the receiver only!
|
||||||
|
|
||||||
const {affected, row} = await speedbump.maybeDoSpeedbump(message.channel_id, message.id)
|
const {affected, row} = await speedbump.maybeDoSpeedbump(message.channel_id, message.id)
|
||||||
if (affected) return
|
if (affected) return
|
||||||
|
|
||||||
|
@ -262,6 +264,8 @@ module.exports = {
|
||||||
if (row) return // The message was sent by the bridge's own webhook on discord. We don't want to reflect this back, so just drop it.
|
if (row) return // The message was sent by the bridge's own webhook on discord. We don't want to reflect this back, so just drop it.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (dUtils.isEphemeralMessage(data)) return // Ephemeral messages are for the eyes of the receiver only!
|
||||||
|
|
||||||
// Edits need to go through the speedbump as well. If the message is delayed but the edit isn't, we don't have anything to edit from.
|
// Edits need to go through the speedbump as well. If the message is delayed but the edit isn't, we don't have anything to edit from.
|
||||||
const {affected, row} = await speedbump.maybeDoSpeedbump(data.channel_id, data.id)
|
const {affected, row} = await speedbump.maybeDoSpeedbump(data.channel_id, data.id)
|
||||||
if (affected) return
|
if (affected) return
|
||||||
|
|
|
@ -101,6 +101,14 @@ function isWebhookMessage(message) {
|
||||||
return message.webhook_id && !isInteractionResponse
|
return message.webhook_id && !isInteractionResponse
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ephemeral messages can be generated if a slash command is attached to the same bot that OOYE is running on
|
||||||
|
* @param {DiscordTypes.APIMessage} message
|
||||||
|
*/
|
||||||
|
function isEphemeralMessage(message) {
|
||||||
|
return message.flags & (1 << 6);
|
||||||
|
}
|
||||||
|
|
||||||
/** @param {string} snowflake */
|
/** @param {string} snowflake */
|
||||||
function snowflakeToTimestampExact(snowflake) {
|
function snowflakeToTimestampExact(snowflake) {
|
||||||
return Number(BigInt(snowflake) >> 22n) + EPOCH
|
return Number(BigInt(snowflake) >> 22n) + EPOCH
|
||||||
|
@ -116,5 +124,6 @@ module.exports.hasPermission = hasPermission
|
||||||
module.exports.hasSomePermissions = hasSomePermissions
|
module.exports.hasSomePermissions = hasSomePermissions
|
||||||
module.exports.hasAllPermissions = hasAllPermissions
|
module.exports.hasAllPermissions = hasAllPermissions
|
||||||
module.exports.isWebhookMessage = isWebhookMessage
|
module.exports.isWebhookMessage = isWebhookMessage
|
||||||
|
module.exports.isEphemeralMessage = isEphemeralMessage
|
||||||
module.exports.snowflakeToTimestampExact = snowflakeToTimestampExact
|
module.exports.snowflakeToTimestampExact = snowflakeToTimestampExact
|
||||||
module.exports.timestampToSnowflakeInexact = timestampToSnowflakeInexact
|
module.exports.timestampToSnowflakeInexact = timestampToSnowflakeInexact
|
||||||
|
|
|
@ -16,7 +16,7 @@ async function deleteMessage(event) {
|
||||||
db.prepare("DELETE FROM event_message WHERE event_id = ?").run(event.event_id)
|
db.prepare("DELETE FROM event_message WHERE event_id = ?").run(event.event_id)
|
||||||
for (const row of rows) {
|
for (const row of rows) {
|
||||||
db.prepare("DELETE FROM message_channel WHERE message_id = ?").run(row.message_id)
|
db.prepare("DELETE FROM message_channel WHERE message_id = ?").run(row.message_id)
|
||||||
discord.snow.channel.deleteMessage(row.channel_id, row.message_id, event.content.reason)
|
await discord.snow.channel.deleteMessage(row.channel_id, row.message_id, event.content.reason)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue