feat(NoCanaryMessageLinks): Allow custom subdomains (#147)

This commit is contained in:
Roman / Linnea Gräf 2022-10-23 14:19:53 +02:00 committed by GitHub
parent abbc08fb06
commit 50c0d472d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 4 deletions

View File

@ -18,16 +18,38 @@
import { addPreSendListener, MessageObject, removePreSendListener } from "../api/MessageEvents";
import { Devs } from "../utils/constants";
import definePlugin from "../utils/types";
import definePlugin, { OptionType } from "../utils/types";
import { Settings } from "../Vencord";
export default definePlugin({
name: "NoCanaryMessageLinks",
description: "Removes the canary and ptb prefix from message links",
authors: [Devs.Samu],
description: "Allows you to change/remove the subdomain of discord message and channel links",
authors: [
Devs.Samu,
Devs.nea,
],
options: {
linkPrefix: {
description: "The subdomain for your discord message links",
type: OptionType.STRING,
default: "",
restartNeeded: false,
},
alwaysUseDiscordHost: {
description: "Always use discord.com host (replace discordapp.com)",
type: OptionType.BOOLEAN,
default: false,
restartNeeded: false,
},
},
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
const settings = Settings.plugins.NoCanaryMessageLinks;
msg.content = msg.content.replace(
/https:\/\/(?:canary\.|ptb\.)?(discord(?:app)?\.com)(\/channels\/(?:\d{17,20}|@me)\/\d{17,20}(?:\/\d{17,20})?)/g,
(_, host, path) => "https://" + (settings.linkPrefix ? settings.linkPrefix + "." : "") + (settings.alwaysUseDiscordHost ? "discord.com" : host) + path
);
},
start() {

View File

@ -73,6 +73,10 @@ export const Devs = Object.freeze({
name: "katlyn",
id: 250322741406859265n
},
nea: {
name: "nea",
id: 310702108997320705n,
},
Nuckyz: {
name: "Nuckyz",
id: 235834946571337729n