aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/noReplyMention.tsx
diff options
context:
space:
mode:
authorPedro <nekkan@protonmail.ch>2022-12-15 11:05:44 -0300
committerGitHub <noreply@github.com>2022-12-15 14:05:44 +0000
commitf6122a00ca9d5259ca8c97e88045ee9b9936ab70 (patch)
tree029d57f98ad9d40eaaf2aa71cead6585cb9a70a8 /src/plugins/noReplyMention.tsx
parentf1bdfdd6b9abb23edb80fcb79b59ea6f8ffefc75 (diff)
downloadVencord-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.tsx58
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);",
+ },
+ },
+ ],
+});