diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/noReplyMention.tsx | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/plugins/noReplyMention.tsx b/src/plugins/noReplyMention.tsx index 3ec8aef..16b3a3e 100644 --- a/src/plugins/noReplyMention.tsx +++ b/src/plugins/noReplyMention.tsx @@ -22,12 +22,27 @@ import definePlugin, { OptionType } from "@utils/types"; import type { Message } from "discord-types/general"; const settings = definePluginSettings({ - exemptList: { + userList: { description: - "List of users to exempt from this plugin (separated by commas or spaces)", + "List of users to allow or exempt pings for (separated by commas or spaces)", type: OptionType.STRING, default: "1234567890123445,1234567890123445", }, + shouldPingListed: { + description: "Behaviour", + type: OptionType.SELECT, + options: [ + { + label: "Do not ping the listed users", + value: false, + }, + { + label: "Only ping the listed users", + value: true, + default: true, + }, + ], + }, inverseShiftReply: { description: "Invert Discord's shift replying behaviour (enable to make shift reply mention user)", type: OptionType.BOOLEAN, @@ -38,11 +53,12 @@ const settings = definePluginSettings({ export default definePlugin({ name: "NoReplyMention", description: "Disables reply pings by default", - authors: [Devs.DustyAngel47, Devs.axyie, Devs.pylix], + authors: [Devs.DustyAngel47, Devs.axyie, Devs.pylix, Devs.outfoxxed], settings, shouldMention(message: Message, isHoldingShift: boolean) { - const isExempt = settings.store.exemptList.includes(message.author.id); + const isListed = settings.store.userList.includes(message.author.id); + const isExempt = settings.store.shouldPingListed ? isListed : !isListed; return settings.store.inverseShiftReply ? isHoldingShift !== isExempt : !isHoldingShift && isExempt; }, |