diff --git a/src/plugins/fxTwitter.ts b/src/plugins/fxTwitter.ts new file mode 100644 index 000000000..0cf19be94 --- /dev/null +++ b/src/plugins/fxTwitter.ts @@ -0,0 +1,22 @@ +import definePlugin from "../utils/types"; +import { addPreSendListener, MessageObject, removePreSendListener } from "../api/MessageEvents"; +import { Devs } from "../utils/constants"; + +export default definePlugin({ + name: "FxTwitter", + description: "Uses FxTwitter to improve embeds from twitter on send", + authors: [Devs.Samu], + dependencies: ["MessageEventsAPI"], + + addPrefix(msg: MessageObject) { + msg.content = msg.content.replace(/https?:\/\/twitter\.com(?=\/.*?\/)/g, "https://fxtwitter.com"); + }, + + start() { + this.preSend = addPreSendListener((_, msg) => this.addPrefix(msg)); + }, + + stop() { + removePreSendListener(this.preSend); + } +}); diff --git a/src/plugins/noCanaryMessageLinks.ts b/src/plugins/noCanaryMessageLinks.ts index c566c5ea5..a52112748 100644 --- a/src/plugins/noCanaryMessageLinks.ts +++ b/src/plugins/noCanaryMessageLinks.ts @@ -1,10 +1,11 @@ import definePlugin from "../utils/types"; import { addPreSendListener, MessageObject, removePreSendListener } from "../api/MessageEvents"; +import { Devs } from "../utils/constants"; export default definePlugin({ name: "NoCanaryMessageLinks", description: "Removes the canary and ptb prefix from message links", - authors: [{ name: "ICodeInAssembly", id: 702973430449832038n }], + authors: [Devs.Samu], dependencies: ["MessageEventsAPI"], removeBetas(msg: MessageObject) { diff --git a/src/utils/constants.ts b/src/utils/constants.ts index e263cc0b9..5d8ac60e0 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -34,5 +34,9 @@ export const Devs = Object.freeze({ Glitch: { name: "Glitchy", id: 269567451199569920n + }, + Samu: { + name: "Samu", + id: 702973430449832038n } });