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: 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

(limited to 'src')

diff --git a/src/plugins/noCanaryMessageLinks.ts b/src/plugins/noCanaryMessageLinks.ts
new file mode 100644
index 0000000..c566c5e
--- /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);
+    }
+});
-- 
cgit