diff options
| author | Fuwn <[email protected]> | 2025-10-17 14:08:26 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-10-17 14:08:26 -0700 |
| commit | 33f49ee8eebe5d7ecdefd7e1e86607314cfd0d86 (patch) | |
| tree | 80a3adcba92875a25d4e2a122595c8d163042c35 | |
| parent | feat(gateway:commands): Add sayc command (diff) | |
| download | umabotdiscord-33f49ee8eebe5d7ecdefd7e1e86607314cfd0d86.tar.xz umabotdiscord-33f49ee8eebe5d7ecdefd7e1e86607314cfd0d86.zip | |
feat(gateway:roleMentionCooldown): Add ping logging
| -rw-r--r-- | packages/gateway/src/listeners/messageCreate/roleMentionCooldown.ts | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/packages/gateway/src/listeners/messageCreate/roleMentionCooldown.ts b/packages/gateway/src/listeners/messageCreate/roleMentionCooldown.ts index 7ad6d44..e021906 100644 --- a/packages/gateway/src/listeners/messageCreate/roleMentionCooldown.ts +++ b/packages/gateway/src/listeners/messageCreate/roleMentionCooldown.ts @@ -1,4 +1,4 @@ -import { Message } from "discord.js"; +import { Message, EmbedBuilder } from "discord.js"; import { CENTRAL_REVIVE_ROLEPLAY_ROLE_ID, CENTRAL_REVIVE_CHAT_ROLE_ID, @@ -9,8 +9,46 @@ const COOLDOWN_ROLES = [ CENTRAL_REVIVE_CHAT_ROLE_ID, ]; const COOLDOWN_DURATION = 30 * 60 * 1000; +const REVIVE_PING_LOG_CHANNEL_ID = "1428850496093032600"; const roleCooldowns = new Map<string, number>(); +const sendRevivePingLog = async ( + message: Message, + roleName: string, + roleId: string, +) => { + try { + const logChannel = message.client.channels.cache.get( + REVIVE_PING_LOG_CHANNEL_ID, + ); + + if (!logChannel || !logChannel.isTextBased() || logChannel.isDMBased()) { + console.error("Revive ping log channel not found or not text-based"); + + return; + } + + const embed = new EmbedBuilder() + .setTitle("🔔 Revive Ping Used") + .setColor(0xff6b6b) + .addFields( + { name: "User", value: `${message.author}`, inline: true }, + { name: "Role", value: `<@&${roleId}>`, inline: true }, + { name: "Channel", value: `${message.channel}`, inline: true }, + { + name: "Message", + value: `[Jump to Message](${message.url})`, + inline: false, + }, + ) + .setTimestamp(); + + await logChannel.send({ embeds: [embed] }); + } catch (error) { + console.error("Failed to send revive ping log:", error); + } +}; + export const handleRoleMentionCooldown = async (message: Message) => { if (message.author.bot) return; @@ -46,6 +84,7 @@ export const handleRoleMentionCooldown = async (message: Message) => { } roleCooldowns.set(role.id, now + COOLDOWN_DURATION); + await sendRevivePingLog(message, role.name, role.id); try { await role.setMentionable(false, "Role mention cooldown activated"); |