diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2022-06-01 17:22:51 -0400 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2022-06-01 17:22:51 -0400 |
commit | d7099571b90c4211f90089bb41e90b0a08b86112 (patch) | |
tree | aa9cda0908fa37d96c036a6384d35f4b627bd5be /src/lib | |
parent | cb6368c78c2c3cdc0ff63be600750e81f815ce8c (diff) | |
download | tanzanite-d7099571b90c4211f90089bb41e90b0a08b86112.tar.gz tanzanite-d7099571b90c4211f90089bb41e90b0a08b86112.tar.bz2 tanzanite-d7099571b90c4211f90089bb41e90b0a08b86112.zip |
fix: remove user allowed mentions
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/extensions/discord-akairo/BushClient.ts | 2 | ||||
-rw-r--r-- | src/lib/utils/AllowedMentions.ts | 82 |
2 files changed, 63 insertions, 21 deletions
diff --git a/src/lib/extensions/discord-akairo/BushClient.ts b/src/lib/extensions/discord-akairo/BushClient.ts index ac4de5f..db0ad91 100644 --- a/src/lib/extensions/discord-akairo/BushClient.ts +++ b/src/lib/extensions/discord-akairo/BushClient.ts @@ -217,7 +217,7 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re activities: [{ name: 'Beep Boop', type: ActivityType.Watching }], status: 'online' }, - allowedMentions: AllowedMentions.users(), // No everyone or role mentions by default + allowedMentions: AllowedMentions.none(), // no mentions by default makeCache: Options.cacheWithLimits({}), failIfNotExists: false, rest: { api: 'https://canary.discord.com/api' } diff --git a/src/lib/utils/AllowedMentions.ts b/src/lib/utils/AllowedMentions.ts index 7a377be..400da76 100644 --- a/src/lib/utils/AllowedMentions.ts +++ b/src/lib/utils/AllowedMentions.ts @@ -1,51 +1,93 @@ import { type MessageMentionOptions, type MessageMentionTypes } from 'discord.js'; +/** + * A utility class for creating allowed mentions. + */ export class AllowedMentions { + /** + * Whether @everyone and @here should be mentioned. + */ public everyone: boolean; + + /** + * Whether users should be mentioned. + */ public users: boolean; + + /** + * Whether roles should be mentioned. + */ public roles: boolean; - public constructor(users = true, roles = false, everyone = false) { + /** + * Whether the author of the Message being replied to should be mentioned. + */ + public repliedUser: boolean; + + /** + * @param users Whether users should be mentioned. + * @param roles Whether roles should be mentioned. + * @param everyone Whether @everyone and @here should be mentioned. + * @param repliedUser Whether the author of the Message being replied to should be mentioned. + */ + public constructor(users = true, roles = false, everyone = false, repliedUser = true) { this.everyone = everyone; this.roles = roles; this.users = users; + this.repliedUser = repliedUser; } - public static none(): MessageMentionOptions { - return { parse: [] }; + /** + * Don't mention anyone. + * @param repliedUser Whether the author of the Message being replied to should be mentioned. + */ + public static none(repliedUser = true): MessageMentionOptions { + return { parse: [], repliedUser }; } - public static all(): MessageMentionOptions { - return { - parse: ['everyone', 'roles', 'users'] - }; + /** + * Mention @everyone and @here, roles, and users. + * @param repliedUser Whether the author of the Message being replied to should be mentioned. + */ + public static all(repliedUser = true): MessageMentionOptions { + return { parse: ['everyone', 'roles', 'users'], repliedUser }; } - public static users(): MessageMentionOptions { - return { - parse: ['users'] - }; + /** + * Mention users. + * @param repliedUser Whether the author of the Message being replied to should be mentioned. + */ + public static users(repliedUser = true): MessageMentionOptions { + return { parse: ['users'], repliedUser }; } - public static everyone(): MessageMentionOptions { - return { - parse: ['everyone'] - }; + /** + * Mention @everyone and @here. + * @param repliedUser Whether the author of the Message being replied to should be mentioned. + */ + public static everyone(repliedUser = true): MessageMentionOptions { + return { parse: ['everyone'], repliedUser }; } - public static roles(): MessageMentionOptions { - return { - parse: ['roles'] - }; + /** + * Mention roles. + * @param repliedUser Whether the author of the Message being replied to should be mentioned. + */ + public static roles(repliedUser = true): MessageMentionOptions { + return { parse: ['roles'], repliedUser }; } + /** + * Converts this into a MessageMentionOptions object. + */ public toObject(): MessageMentionOptions { return { parse: [ ...(this.users ? ['users'] : []), ...(this.roles ? ['roles'] : []), ...(this.everyone ? ['everyone'] : []) - ] as MessageMentionTypes[] + ] as MessageMentionTypes[], + repliedUser: this.repliedUser }; } } |