Fix repost notification

This commit is contained in:
Matheus Albino
2024-10-16 13:00:43 -03:00
parent de9fff8529
commit deb8b87bb6
3 changed files with 22 additions and 20 deletions

View File

@@ -6,27 +6,26 @@ import handleMessageReposts from "./functions/handleMessageReposts.ts";
import deleteMessageFromMessagesArray from "./functions/deleteMessageFromMessagesArray.ts"; import deleteMessageFromMessagesArray from "./functions/deleteMessageFromMessagesArray.ts";
const client = new Client({ const client = new Client({
intents: [ intents: [
GatewayIntentBits.Guilds, GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent, GatewayIntentBits.MessageContent,
], ],
}); });
let messagesArr: Message[]; let messagesArr: Message[];
client.once(Events.ClientReady, async (client) => { client.once(Events.ClientReady, async (client) => {
readyHandler(client); readyHandler(client);
messagesArr = await feedMessagesArray(client); messagesArr = await feedMessagesArray(client);
}); });
client.on(Events.MessageCreate, async (message) => { client.on(Events.MessageCreate, async (message) => {
messagesArr = handleMessageReposts(messagesArr, message); messagesArr = handleMessageReposts(messagesArr, message);
}); });
// TODO, updateMessagesArray on message deletion
client.on(Events.MessageDelete, async (message) => { client.on(Events.MessageDelete, async (message) => {
messagesArr = deleteMessageFromMessagesArray(messagesArr, message); messagesArr = deleteMessageFromMessagesArray(messagesArr, message);
}); });
await client.login(process.env.DISCORD_TOKEN); await client.login(process.env.DISCORD_TOKEN);

View File

@@ -1,15 +1,18 @@
import { TextChannel, type Message } from "discord.js"; import { TextChannel, type Message } from "discord.js";
export default function attemptSendAuthorMessage(authorMessage: Message): void { export default function attemptSendAuthorMessage(
if (!(authorMessage.channel instanceof TextChannel)) return; authorMessage: Message,
if (!authorMessage.guild) return; url: string,
): void {
if (!(authorMessage.channel instanceof TextChannel)) return;
if (!authorMessage.guild) return;
authorMessage.author authorMessage.author
.send( .send(
`Hey! [__O link que voce mandou__](<${authorMessage.content}>) no canal "_${authorMessage.channel.name}_" do servidor "_${authorMessage.guild.name}_" ja foi mandado no passado! `Hey! [__O link que voce mandou__](<${url}>) no canal "_${authorMessage.channel.name}_" do servidor "_${authorMessage.guild.name}_" ja foi mandado no passado!
A mensagem que voce mandou foi apagada para evitar que os chatos comentem "repost". A mensagem que voce mandou foi apagada para evitar que os chatos comentem "repost".
De nada!`, De nada!`,
) )
.then() .then()
.catch((_) => null); .catch((_) => null);
} }

View File

@@ -22,7 +22,7 @@ export default function handleMessageReposts(
} }
newMessage.delete(); newMessage.delete();
attemptSendAuthorMessage(newMessage); attemptSendAuthorMessage(newMessage, newMessageClearedUrl);
return messagesArray; return messagesArray;
} }