diff options
| author | Fuwn <[email protected]> | 2025-10-03 15:52:42 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-10-03 15:52:42 -0700 |
| commit | 0999cd67f84d9e5e4f4da65db5ff0ef2c1cbbc11 (patch) | |
| tree | 29c7162c472333583bd246e9be9ed03a323755f6 /packages/gateway/src | |
| parent | feat(gateway:aiCommandHandler): Add purge command (diff) | |
| download | umabotdiscord-0999cd67f84d9e5e4f4da65db5ff0ef2c1cbbc11.tar.xz umabotdiscord-0999cd67f84d9e5e4f4da65db5ff0ef2c1cbbc11.zip | |
feat(gateway): Clean and lint
Diffstat (limited to 'packages/gateway/src')
4 files changed, 51 insertions, 37 deletions
diff --git a/packages/gateway/src/commands/role.ts b/packages/gateway/src/commands/role.ts index b29cdea..f0cbb29 100644 --- a/packages/gateway/src/commands/role.ts +++ b/packages/gateway/src/commands/role.ts @@ -94,7 +94,10 @@ export const handleRoleCommand = async (message: Message) => { const targetMember = await guild.members.fetch(targetUserId); if (!targetMember) { - await replyWithCleanup(message, `❌ User is not a member of ${guild.name}.`); + await replyWithCleanup( + message, + `❌ User is not a member of ${guild.name}.`, + ); return; } @@ -105,7 +108,10 @@ export const handleRoleCommand = async (message: Message) => { const role = guild.roles.cache.get(targetRoleId); if (!role) { - await replyWithCleanup(message, `❌ Role with ID ${targetRoleId} not found in ${guild.name}.`); + await replyWithCleanup( + message, + `❌ Role with ID ${targetRoleId} not found in ${guild.name}.`, + ); return; } diff --git a/packages/gateway/src/listeners/index.ts b/packages/gateway/src/listeners/index.ts index 9877cf0..658ccc5 100644 --- a/packages/gateway/src/listeners/index.ts +++ b/packages/gateway/src/listeners/index.ts @@ -1,6 +1,6 @@ import { Client } from "discord.js"; import { handleMessageCreate } from "./messageCreate"; -import { handleRoleProtection } from "./roleProtection"; +// import { handleRoleProtection } from "./roleProtection"; import { handleChannelDeletion } from "./channelDeletion"; import { handleMessageDeletion } from "./messageDeletion"; import { handleMessageEdit } from "./messageEdit"; diff --git a/packages/gateway/src/listeners/messageCreate/aiCommandHandler/index.ts b/packages/gateway/src/listeners/messageCreate/aiCommandHandler/index.ts index ef30716..ccce8d0 100644 --- a/packages/gateway/src/listeners/messageCreate/aiCommandHandler/index.ts +++ b/packages/gateway/src/listeners/messageCreate/aiCommandHandler/index.ts @@ -33,9 +33,15 @@ export const handleAICommand = async (message: Message) => { if (!hasModeratorRole && !isOwner) return; const mentionMatches = message.content.match(/<@!?(\d+)>/g); - const mentionedUserIds = mentionMatches ? mentionMatches.map(match => match.match(/<@!?(\d+)>/)?.[1]).filter(Boolean) : []; + const mentionedUserIds = mentionMatches + ? mentionMatches + .map((match) => match.match(/<@!?(\d+)>/)?.[1]) + .filter(Boolean) + : []; const botMention = message.content.match(/<@!?\d+>/); - const content = botMention ? message.content.replace(botMention[0], "").trim() : message.content.trim(); + const content = botMention + ? message.content.replace(botMention[0], "").trim() + : message.content.trim(); if (!content) return; @@ -93,7 +99,11 @@ RESPONSE MUST BE ONLY JSON. NO OTHER TEXT.`, }, { role: "user", - content: content + (mentionedUserIds.length > 0 ? `\n\nMentioned user IDs: ${mentionedUserIds.join(', ')}` : ''), + content: + content + + (mentionedUserIds.length > 0 + ? `\n\nMentioned user IDs: ${mentionedUserIds.join(", ")}` + : ""), }, ], max_tokens: 100, diff --git a/packages/gateway/src/listeners/messageCreate/aiCommandHandler/purge.ts b/packages/gateway/src/listeners/messageCreate/aiCommandHandler/purge.ts index bbbf89a..fc06b81 100644 --- a/packages/gateway/src/listeners/messageCreate/aiCommandHandler/purge.ts +++ b/packages/gateway/src/listeners/messageCreate/aiCommandHandler/purge.ts @@ -20,12 +20,11 @@ export const handlePurgeCommand = async ( try { let messagesToDelete: Message[] = []; - let totalCount = 0; switch (commandData.action) { case "last": { const count = commandData.value || 1; - + if (count > PURGE_LIMIT) { await safeReact(message, "❌"); @@ -35,19 +34,18 @@ export const handlePurgeCommand = async ( const allMessages: Message[] = []; let lastMessageId: string | undefined; const targetCount = count + 1; - + while (allMessages.length < targetCount) { const fetchLimit = Math.min(100, targetCount - allMessages.length); const fetchOptions: any = { limit: fetchLimit }; - if (lastMessageId) - fetchOptions.before = lastMessageId; - + if (lastMessageId) fetchOptions.before = lastMessageId; + const messages = await channel.messages.fetch(fetchOptions); if (messages instanceof Collection) { if (messages.size === 0) break; - + const messageArray = Array.from(messages.values()); allMessages.push(...messageArray); @@ -60,12 +58,13 @@ export const handlePurgeCommand = async ( } } - messagesToDelete = allMessages.filter(msg => msg.id !== message.id).slice(0, count); - totalCount = messagesToDelete.length; + messagesToDelete = allMessages + .filter((msg) => msg.id !== message.id) + .slice(0, count); break; } - + case "from": { if (!commandData.user) { await safeReact(message, "❌"); @@ -75,18 +74,17 @@ export const handlePurgeCommand = async ( const allMessages: Message[] = []; let lastMessageId: string | undefined; - + while (true) { const fetchOptions: any = { limit: 100 }; - if (lastMessageId) - fetchOptions.before = lastMessageId; - + if (lastMessageId) fetchOptions.before = lastMessageId; + const messages = await channel.messages.fetch(fetchOptions); if (messages instanceof Collection) { if (messages.size === 0) break; - + const messageArray = Array.from(messages.values()); allMessages.push(...messageArray); @@ -99,8 +97,10 @@ export const handlePurgeCommand = async ( } } - const userMessages = allMessages.filter(msg => msg.author.id === commandData.user && msg.id !== message.id); - + const userMessages = allMessages.filter( + (msg) => msg.author.id === commandData.user && msg.id !== message.id, + ); + if (userMessages.length > PURGE_LIMIT) { await safeReact(message, "❌"); @@ -108,11 +108,10 @@ export const handlePurgeCommand = async ( } messagesToDelete = userMessages; - totalCount = messagesToDelete.length; break; } - + case "lastfrom": { if (!commandData.user || !commandData.value) { await safeReact(message, "❌"); @@ -121,7 +120,7 @@ export const handlePurgeCommand = async ( } const count = commandData.value; - + if (count > PURGE_LIMIT) { await safeReact(message, "❌"); @@ -130,18 +129,17 @@ export const handlePurgeCommand = async ( const allMessages: Message[] = []; let lastMessageId: string | undefined; - + while (allMessages.length < count * 2) { const fetchOptions: any = { limit: 100 }; - if (lastMessageId) - fetchOptions.before = lastMessageId; - + if (lastMessageId) fetchOptions.before = lastMessageId; + const messages = await channel.messages.fetch(fetchOptions); if (messages instanceof Collection) { if (messages.size === 0) break; - + const messageArray = Array.from(messages.values()); allMessages.push(...messageArray); @@ -154,14 +152,15 @@ export const handlePurgeCommand = async ( } } - const userMessages = allMessages.filter(msg => msg.author.id === commandData.user && msg.id !== message.id); + const userMessages = allMessages.filter( + (msg) => msg.author.id === commandData.user && msg.id !== message.id, + ); messagesToDelete = userMessages.slice(0, count); - totalCount = messagesToDelete.length; break; } - + default: await safeReact(message, "❌"); @@ -182,11 +181,10 @@ export const handlePurgeCommand = async ( for (const batch of batches) if (batch.length === 1) { await batch[0].delete(); - } else if ('bulkDelete' in channel) { + } else if ("bulkDelete" in channel) { await (channel as any).bulkDelete(batch); } else { - for (const msg of batch) - await msg.delete(); + for (const msg of batch) await msg.delete(); } await safeReact(message, "✅"); |