/* * Vencord, a modification for Discord's desktop app * Copyright (c) 2022 Vendicated and contributors * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import { Settings } from "@api/settings"; import { Devs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; interface Reply { message: { author: { id: string; }; }; } export default definePlugin({ name: "NoReplyMention", description: "Disables reply pings by default", authors: [Devs.DustyAngel47, Devs.axyie], options: { exemptList: { description: "List of users to exempt from this plugin (separated by commas)", type: OptionType.STRING, default: "1234567890123445,1234567890123445", }, }, shouldMention(reply: Reply) { return Settings.plugins.NoReplyMention.exemptList.includes( reply.message.author.id ); }, patches: [ { find: "CREATE_PENDING_REPLY:function", replacement: { match: /CREATE_PENDING_REPLY:function\((.{1,2})\){/, replace: "CREATE_PENDING_REPLY:function($1){$1.shouldMention=Vencord.Plugins.plugins.NoReplyMention.shouldMention($1);", }, }, ], });