diff options
author | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-05-27 17:15:53 -0400 |
---|---|---|
committer | IRONM00N <64110067+IRONM00N@users.noreply.github.com> | 2021-05-27 17:15:53 -0400 |
commit | 705cead579a79d6ee86dd2e5edfcea2344bea6ce (patch) | |
tree | 3adf8875de96e84506d7b650cdc50d358a861d5c /src/commands/moulberry-bush/giveawayPing.ts | |
parent | 2c74ebf6651ccdc78e9fa5799c7887fe52b1ac2d (diff) | |
parent | 1546da359646b89f13d17784eb7653a52ca61efd (diff) | |
download | tanzanite-705cead579a79d6ee86dd2e5edfcea2344bea6ce.tar.gz tanzanite-705cead579a79d6ee86dd2e5edfcea2344bea6ce.tar.bz2 tanzanite-705cead579a79d6ee86dd2e5edfcea2344bea6ce.zip |
Merge branch 'rewrite' of https://github.com/NotEnoughUpdates/mb-bot-ts into rewrite
Diffstat (limited to 'src/commands/moulberry-bush/giveawayPing.ts')
-rw-r--r-- | src/commands/moulberry-bush/giveawayPing.ts | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/commands/moulberry-bush/giveawayPing.ts b/src/commands/moulberry-bush/giveawayPing.ts new file mode 100644 index 0000000..e6fdd9a --- /dev/null +++ b/src/commands/moulberry-bush/giveawayPing.ts @@ -0,0 +1,68 @@ +import { BushCommand } from '../../lib/extensions/BushCommand'; +import AllowedMentions from '../../lib/utils/AllowedMentions'; +import { Message, WebhookClient } from 'discord.js'; +import { TextChannel } from 'discord.js'; +import { NewsChannel } from 'discord.js'; + +export default class GiveawayPingCommand extends BushCommand { + constructor() { + super('giveawayping', { + aliases: ['giveawayping', 'giveawaypong'], + category: "Moulberry's Bush", + description: { + content: 'Pings the giveaway role.', + usage: 'giveawayping', + examples: ['giveawayping'] + }, + clientPermissions: ['MANAGE_MESSAGES'], + userPermissions: [ + 'SEND_MESSAGES', + 'MANAGE_GUILD', + 'MANAGE_MESSAGES', + 'BAN_MEMBERS', + 'KICK_MEMBERS', + 'VIEW_CHANNEL' + ], + channel: 'guild', + ignoreCooldown: [], + ignorePermissions: [], + cooldown: 1.44e7, //4 hours + ratelimit: 1, + editable: false + }); + } + public async exec(message: Message): Promise<unknown> { + if (message.guild.id !== '516977525906341928') + return message.reply( + "<:error:837123021016924261> This command may only be run in Moulberry's Bush." + ); + if ( + !['767782084981817344', '833855738501267456'].includes(message.channel.id) + ) + return message.reply( + '<:error:837123021016924261> This command may only be run in giveaway channels.' + ); + await message.delete().catch(() => undefined); + const webhooks = await ( + message.channel as TextChannel | NewsChannel + ).fetchWebhooks(); + let webhookClient: WebhookClient; + if (webhooks.size < 1) { + const webhook = await ( + message.channel as TextChannel | NewsChannel + ).createWebhook('Giveaway ping webhook'); + webhookClient = new WebhookClient(webhook.id, webhook.token); + } else { + const webhook = webhooks.first(); + webhookClient = new WebhookClient(webhook.id, webhook.token); + } + return webhookClient.send( + '🎉 <@&767782793261875210> Giveaway.\n\n<:mad:783046135392239626> Spamming, line breaking, gibberish etc. disqualifies you from winning. We can and will ban you from giveaways. Winners will all be checked and rerolled if needed.', + { + username: `${message.member.nickname || message.author.username}`, + avatarURL: message.author.avatarURL({ dynamic: true }), + allowedMentions: AllowedMentions.roles() + } + ); + } +} |