summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/gateway/src/commands/role.ts10
-rw-r--r--packages/gateway/src/listeners/index.ts2
-rw-r--r--packages/gateway/src/listeners/messageCreate/aiCommandHandler/index.ts16
-rw-r--r--packages/gateway/src/listeners/messageCreate/aiCommandHandler/purge.ts60
-rw-r--r--packages/interactions/server.ts2
5 files changed, 52 insertions, 38 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, "✅");
diff --git a/packages/interactions/server.ts b/packages/interactions/server.ts
index 168a22f..6270468 100644
--- a/packages/interactions/server.ts
+++ b/packages/interactions/server.ts
@@ -574,7 +574,7 @@ router.post("/", async (request: Request, environment: Environment) => {
try {
const userId = interaction.member?.user?.id || interaction.user?.id;
-
+
if (userId) {
const snowflake = BigInt(userId);
const timestamp = Number((snowflake >> 22n) + 1420070400000n);