Bot now replies to the author's message instead of sending DMs
This commit is contained in:
32
src/functions/attemptReplyAuthorMessage.ts
Normal file
32
src/functions/attemptReplyAuthorMessage.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import { TextChannel, type Message } from "discord.js";
|
||||||
|
import { underline } from "../utils/message.ts";
|
||||||
|
|
||||||
|
export default function attemptReplyAuthorMessage(
|
||||||
|
authorMessage: Message,
|
||||||
|
url: string,
|
||||||
|
originalMessages: Message[],
|
||||||
|
): void {
|
||||||
|
if (!(authorMessage.channel instanceof TextChannel)) return;
|
||||||
|
if (!authorMessage.guild) return;
|
||||||
|
|
||||||
|
let replyMessage = `Hey! [${underline("O link que voce mandou")}](<${url}>) ja foi mandado no passado! Voce eh um repostado!`;
|
||||||
|
|
||||||
|
for (let index = 0; index < originalMessages.length; index++) {
|
||||||
|
const msg = originalMessages[index];
|
||||||
|
if (!msg) return;
|
||||||
|
|
||||||
|
const { id, guildId, channelId, author } = msg;
|
||||||
|
if (!author.globalName) return;
|
||||||
|
|
||||||
|
const messageUrl = `https://discord.com/channels/${guildId}/${channelId}/${id}`;
|
||||||
|
replyMessage += `\n- Mensagem original ${++index} (por ${underline(author.globalName)}): ${messageUrl}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
authorMessage
|
||||||
|
.reply({
|
||||||
|
content: replyMessage,
|
||||||
|
options: { ephemeral: true },
|
||||||
|
})
|
||||||
|
.then()
|
||||||
|
.catch((_) => null);
|
||||||
|
}
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
import { TextChannel, type Message } from "discord.js";
|
|
||||||
|
|
||||||
export default function attemptSendAuthorMessage(
|
|
||||||
authorMessage: Message,
|
|
||||||
url: string,
|
|
||||||
): void {
|
|
||||||
if (!(authorMessage.channel instanceof TextChannel)) return;
|
|
||||||
if (!authorMessage.guild) return;
|
|
||||||
|
|
||||||
authorMessage.author
|
|
||||||
.send(
|
|
||||||
`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".
|
|
||||||
De nada!`,
|
|
||||||
)
|
|
||||||
.then()
|
|
||||||
.catch((_) => null);
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,7 @@ import { clearUrl } from "../utils/url.ts";
|
|||||||
import { transformMessageArrayInMap } from "../utils/message.ts";
|
import { transformMessageArrayInMap } from "../utils/message.ts";
|
||||||
|
|
||||||
import updateMessagesArray from "./updateMessagesArray.ts";
|
import updateMessagesArray from "./updateMessagesArray.ts";
|
||||||
import attemptSendAuthorMessage from "./attemptSendUserMessage.ts";
|
import attemptReplyAuthorMessage from "./attemptReplyAuthorMessage.ts";
|
||||||
|
|
||||||
export default function handleMessageReposts(
|
export default function handleMessageReposts(
|
||||||
messagesArray: Message[],
|
messagesArray: Message[],
|
||||||
@@ -15,14 +15,13 @@ export default function handleMessageReposts(
|
|||||||
|
|
||||||
if (!newMessageClearedUrl) return messagesArray;
|
if (!newMessageClearedUrl) return messagesArray;
|
||||||
|
|
||||||
const urlMessagesMatchArray = urlMessagesMap.get(newMessageClearedUrl);
|
const originalMessages = urlMessagesMap.get(newMessageClearedUrl);
|
||||||
|
|
||||||
if (!urlMessagesMatchArray) {
|
if (!originalMessages) {
|
||||||
return updateMessagesArray(messagesArray, newMessage);
|
return updateMessagesArray(messagesArray, newMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
newMessage.delete();
|
attemptReplyAuthorMessage(newMessage, newMessageClearedUrl, originalMessages);
|
||||||
attemptSendAuthorMessage(newMessage, newMessageClearedUrl);
|
|
||||||
|
|
||||||
return messagesArray;
|
return messagesArray;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,3 +23,7 @@ export function transformMessageArrayInMap(
|
|||||||
|
|
||||||
return urlMessagesMap;
|
return urlMessagesMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function underline(message: string): string {
|
||||||
|
return `__${message}__`;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user