aboutsummaryrefslogtreecommitdiff
path: root/src/listeners/message/boosterMessage.ts
blob: 5e046e57fec786f5910cf4adc34ddd4d915f459a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { BotListener, Emitter, type BotClientEvents } from '#lib';
import { Events, MessageType } from 'discord.js';

export default class BoosterMessageListener extends BotListener {
	public constructor() {
		super('boosterMessage', {
			emitter: Emitter.Client,
			event: Events.MessageCreate
		});
	}

	public async exec(...[message]: BotClientEvents[Events.MessageCreate]) {
		if (!message.guild || !(await message.guild?.hasFeature('boosterMessageReact'))) return;
		if (
			[MessageType.GuildBoost, MessageType.GuildBoostTier1, MessageType.GuildBoostTier2, MessageType.GuildBoostTier3].includes(
				message.type
			)
		) {
			return await message.react('<:nitroboost:785160348885975062>').catch(() => {
				void this.client.console.warn('boosterMessage', `Failed to react to <<${message.id}>>.`);
			});
		}
	}
}