From 124d1ad9c7138bce4c65325e2db47f615e463de6 Mon Sep 17 00:00:00 2001 From: Berlin <39058370+somerandomcloud@users.noreply.github.com> Date: Mon, 10 Oct 2022 01:35:50 +0200 Subject: [PATCH] Plugin that removes canary subdomain from message (#60) --- src/plugins/noCanaryMessageLinks.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/plugins/noCanaryMessageLinks.ts diff --git a/src/plugins/noCanaryMessageLinks.ts b/src/plugins/noCanaryMessageLinks.ts new file mode 100644 index 00000000..c566c5ea --- /dev/null +++ b/src/plugins/noCanaryMessageLinks.ts @@ -0,0 +1,21 @@ +import definePlugin from "../utils/types"; +import { addPreSendListener, MessageObject, removePreSendListener } from "../api/MessageEvents"; + +export default definePlugin({ + name: "NoCanaryMessageLinks", + description: "Removes the canary and ptb prefix from message links", + authors: [{ name: "ICodeInAssembly", id: 702973430449832038n }], + dependencies: ["MessageEventsAPI"], + + removeBetas(msg: MessageObject) { + msg.content = msg.content.replace(/(?<=https:\/\/)(canary.|ptb.)(?=discord(?:app)?.com\/channels\/(?:\d{17,20}|@me)\/\d{17,20}\/\d{17,20})/g, ""); // Ven W + }, + + start() { + this.preSend = addPreSendListener((_, msg) => this.removeBetas(msg)); + }, + + stop() { + removePreSendListener(this.preSend); + } +});