Adds events for MessageUpdate and MessageDelete/deleteRepliesToAuthorMessage
This commit is contained in:
15
src/bot.ts
15
src/bot.ts
@@ -31,17 +31,20 @@ client.on(Events.MessageCreate, async (message) => {
|
|||||||
messagesArr = handleMessageReposts(messagesArr, message);
|
messagesArr = handleMessageReposts(messagesArr, message);
|
||||||
});
|
});
|
||||||
|
|
||||||
client.on(Events.MessageUpdate, async (message) => {
|
// not needed for some reason
|
||||||
if (!botIsReady) return;
|
// client.on(Events.MessageUpdate, async (newMessage) => {
|
||||||
|
// if (!botIsReady) return;
|
||||||
messagesArr = handleMessageUpdate(messagesArr, message); // TODO
|
//
|
||||||
});
|
// return;
|
||||||
|
//
|
||||||
|
// messagesArr = handleMessageUpdate(messagesArr, newMessage);
|
||||||
|
// });
|
||||||
|
|
||||||
client.on(Events.MessageDelete, async (message) => {
|
client.on(Events.MessageDelete, async (message) => {
|
||||||
if (!botIsReady) return;
|
if (!botIsReady) return;
|
||||||
|
|
||||||
messagesArr = deleteMessageFromMessagesArray(messagesArr, message);
|
messagesArr = deleteMessageFromMessagesArray(messagesArr, message);
|
||||||
deleteRepliesToAuthorMessage(message); // TODO
|
deleteRepliesToAuthorMessage(client, message);
|
||||||
});
|
});
|
||||||
|
|
||||||
await client.login(process.env.DISCORD_TOKEN);
|
await client.login(process.env.DISCORD_TOKEN);
|
||||||
|
|||||||
@@ -1,5 +1,16 @@
|
|||||||
import type { Message, PartialMessage } from "discord.js";
|
import type { Client, Message, PartialMessage } from "discord.js";
|
||||||
|
|
||||||
export default function deleteRepliesToAuthorMessage(
|
export default async function deleteRepliesToAuthorMessage(
|
||||||
|
client: Client,
|
||||||
authorMessage: Message | PartialMessage,
|
authorMessage: Message | PartialMessage,
|
||||||
): void { }
|
): Promise<void> {
|
||||||
|
const channelMessages = await authorMessage.channel.messages.fetch();
|
||||||
|
|
||||||
|
for (const [, message] of channelMessages) {
|
||||||
|
if (!client.user || !message.reference) continue;
|
||||||
|
if (message.author.id !== client.user.id) continue;
|
||||||
|
if (message.reference.messageId !== authorMessage.id) continue;
|
||||||
|
|
||||||
|
message.delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -4,5 +4,15 @@ export default function handleMessageUpdate(
|
|||||||
messagesArray: Message[],
|
messagesArray: Message[],
|
||||||
updatedMessage: Message | PartialMessage,
|
updatedMessage: Message | PartialMessage,
|
||||||
): Message[] {
|
): Message[] {
|
||||||
|
if (updatedMessage.partial) return messagesArray;
|
||||||
|
|
||||||
|
const outdatedMessageIndexInMessagesArray = messagesArray.findIndex(
|
||||||
|
(message) => message.id === updatedMessage.id,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (outdatedMessageIndexInMessagesArray === -1) return messagesArray;
|
||||||
|
|
||||||
|
messagesArray[outdatedMessageIndexInMessagesArray] = updatedMessage;
|
||||||
|
|
||||||
return messagesArray;
|
return messagesArray;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user