aboutsummaryrefslogtreecommitdiff
path: root/src/listeners/message
diff options
context:
space:
mode:
authorIRONM00N <64110067+IRONM00N@users.noreply.github.com>2021-08-25 14:47:07 -0400
committerIRONM00N <64110067+IRONM00N@users.noreply.github.com>2021-08-25 14:47:07 -0400
commit0af0be5ab4ea0d972d9c406b28b81ee41a06cbdb (patch)
treecb5d6f06a115d7e9c3d38ea44995161f6c158082 /src/listeners/message
parent76622cfcd13727949ef3a0baa30bf72007132cd2 (diff)
downloadtanzanite-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.ts14
-rw-r--r--src/listeners/message/supportThreads.ts43
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}>>.`
+ )
+ );
+ }
+}