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);
|
||||
});
|
||||
|
||||
client.on(Events.MessageUpdate, async (message) => {
|
||||
if (!botIsReady) return;
|
||||
|
||||
messagesArr = handleMessageUpdate(messagesArr, message); // TODO
|
||||
});
|
||||
// not needed for some reason
|
||||
// client.on(Events.MessageUpdate, async (newMessage) => {
|
||||
// if (!botIsReady) return;
|
||||
//
|
||||
// return;
|
||||
//
|
||||
// messagesArr = handleMessageUpdate(messagesArr, newMessage);
|
||||
// });
|
||||
|
||||
client.on(Events.MessageDelete, async (message) => {
|
||||
if (!botIsReady) return;
|
||||
|
||||
messagesArr = deleteMessageFromMessagesArray(messagesArr, message);
|
||||
deleteRepliesToAuthorMessage(message); // TODO
|
||||
deleteRepliesToAuthorMessage(client, message);
|
||||
});
|
||||
|
||||
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,
|
||||
): 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[],
|
||||
updatedMessage: Message | PartialMessage,
|
||||
): 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user