diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-08-25 14:47:07 -0400 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-08-25 14:47:07 -0400 |
commit | 0af0be5ab4ea0d972d9c406b28b81ee41a06cbdb (patch) | |
tree | cb5d6f06a115d7e9c3d38ea44995161f6c158082 /src/listeners/message | |
parent | 76622cfcd13727949ef3a0baa30bf72007132cd2 (diff) | |
download | tanzanite-0af0be5ab4ea0d972d9c406b28b81ee41a06cbdb.tar.gz tanzanite-0af0be5ab4ea0d972d9c406b28b81ee41a06cbdb.tar.bz2 tanzanite-0af0be5ab4ea0d972d9c406b28b81ee41a06cbdb.zip |
join roles, sticky roles, join messages, support threads etc
Diffstat (limited to 'src/listeners/message')
-rw-r--r-- | src/listeners/message/automodCreate.ts | 14 | ||||
-rw-r--r-- | src/listeners/message/supportThreads.ts | 43 |
2 files changed, 51 insertions, 6 deletions
diff --git a/src/listeners/message/automodCreate.ts b/src/listeners/message/automodCreate.ts index ff87513..ca61dd0 100644 --- a/src/listeners/message/automodCreate.ts +++ b/src/listeners/message/automodCreate.ts @@ -59,7 +59,7 @@ export default class AutomodMessageCreateListener extends BushListener { void message.delete().catch(() => {}); void message.member?.warn({ moderator: message.guild.me!, - reason: 'Saying a blacklisted word.' + reason: 'Saying a blacklisted word' }); break; @@ -68,7 +68,7 @@ export default class AutomodMessageCreateListener extends BushListener { void message.delete().catch(() => {}); void message.member?.mute({ moderator: message.guild.me!, - reason: 'Saying a blacklisted word.', + reason: 'Saying a blacklisted word', duration: 900_000 // 15 minutes }); break; @@ -77,7 +77,7 @@ export default class AutomodMessageCreateListener extends BushListener { void message.delete().catch(() => {}); void message.member?.mute({ moderator: message.guild.me!, - reason: 'Saying a blacklisted word.', + reason: 'Saying a blacklisted word', duration: 0 // perm }); break; @@ -102,9 +102,11 @@ export default class AutomodMessageCreateListener extends BushListener { new MessageEmbed() .setTitle(`[Severity ${highestOffence}] Automod Action Performed`) .setDescription( - `**User:** ${message.author} (${message.author.tag})\n**Sent From**: <#${message.channel.id}> [Jump to context](${ - message.url - })\n**Blacklisted Words:** ${util.surroundArray(Object.keys(offences), '`').join(', ')}` + `**User:** ${message.author.tag} (${message.author.tag})\n**Sent From**: <#${ + message.channel.id + }> [Jump to context](${message.url})\n**Blacklisted Words:** ${util + .surroundArray(Object.keys(offences), '`') + .join(', ')}` ) .addField('Message Content', `${await util.codeblock(message.content, 1024)}`) .setColor(color) diff --git a/src/listeners/message/supportThreads.ts b/src/listeners/message/supportThreads.ts new file mode 100644 index 0000000..ce2aa0d --- /dev/null +++ b/src/listeners/message/supportThreads.ts @@ -0,0 +1,43 @@ +import { GuildTextBasedChannels } from 'discord-akairo'; +import { MessageEmbed } from 'discord.js'; +import { BushListener, BushTextChannel } from '../../lib'; +import { BushClientEvents } from '../../lib/extensions/discord.js/BushClientEvents'; + +export default class MessageVerboseListener extends BushListener { + public constructor() { + super('supportThreads', { + emitter: 'client', + event: 'messageCreate', + category: 'message' + }); + } + + public override async exec(...[message]: BushClientEvents['messageCreate']): Promise<Promise<void> | undefined> { + if (!message.guild || !message.channel) return; + // todo: make these configurable etc... + if (message.guild.id !== '516977525906341928') return; // mb + if (message.channel.id !== '714332750156660756') return; // neu-support-1 + if (!(message.channel as BushTextChannel).permissionsFor(message.guild.me!).has('USE_PUBLIC_THREADS')) return; + const thread = await message.startThread({ + name: `Support - ${message.author.username}#${message.author.discriminator}`, + autoArchiveDuration: 1440, + reason: 'Support Thread' + }); + const embed = new MessageEmbed() + .setTitle('NotEnoughUpdates Support') + .setDescription( + `Welcome to Moulberry Bush Support:tm:\n\nPlease make sure you have the latest prerelease found in <#693586404256645231>.\nAdditionally if you need help installing the mod be sure to read <#737444942724726915> for a guide on how to do so.` + ) + .setColor('BLURPLE'); + void thread + .send({ embeds: [embed] }) + .then(() => + client.console.info( + 'supportThread', + `opened a support thread for <<${message.author.tag}>> in <<${ + (message.channel as GuildTextBasedChannels).name + }>> in <<${message.guild!.name}>>.` + ) + ); + } +} |