diff options
author | Pedro <nekkan@protonmail.ch> | 2022-12-15 11:05:44 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-15 14:05:44 +0000 |
commit | f6122a00ca9d5259ca8c97e88045ee9b9936ab70 (patch) | |
tree | 029d57f98ad9d40eaaf2aa71cead6585cb9a70a8 /src/plugins/noReplyMention.tsx | |
parent | f1bdfdd6b9abb23edb80fcb79b59ea6f8ffefc75 (diff) | |
download | Vencord-f6122a00ca9d5259ca8c97e88045ee9b9936ab70.tar.gz Vencord-f6122a00ca9d5259ca8c97e88045ee9b9936ab70.tar.bz2 Vencord-f6122a00ca9d5259ca8c97e88045ee9b9936ab70.zip |
feat(NoReplyMention): exempt list support (#337)
Diffstat (limited to 'src/plugins/noReplyMention.tsx')
-rw-r--r-- | src/plugins/noReplyMention.tsx | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/plugins/noReplyMention.tsx b/src/plugins/noReplyMention.tsx new file mode 100644 index 0000000..91a88d3 --- /dev/null +++ b/src/plugins/noReplyMention.tsx @@ -0,0 +1,58 @@ +/* + * 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 <https://www.gnu.org/licenses/>. +*/ + +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);", + }, + }, + ], +}); |