From 07d639c82d10f76684b332d7f2d92b0c80014c71 Mon Sep 17 00:00:00 2001 From: Bsian Date: Mon, 21 Oct 2019 01:26:49 +0100 Subject: [PATCH] Added announce command --- src/commands/announce.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/commands/announce.ts diff --git a/src/commands/announce.ts b/src/commands/announce.ts new file mode 100644 index 0000000..2bf0af4 --- /dev/null +++ b/src/commands/announce.ts @@ -0,0 +1,28 @@ +import { Message } from 'eris'; +import { Client, config } from '..'; +import { Command } from '../class'; + +export default class Announce extends Command { + constructor(client: Client) { + super(client); + this.name = 'announce'; + this.description = 'Sends an announcement to all active terminals'; + this.usage = `${config.prefix}announce Hi there! | ${config.prefix}announce -e EMERGENCY!`; + this.aliases = ['ann']; + this.permissions = { roles: ['608095934399643649', '521312697896271873'] }; + this.enabled = true; + } + + public async run(message: Message, args?: string[]) { + try { + if (!args.length) return this.client.commands.get('help').run(message, [this.name]); + const notification = await message.channel.createMessage(`${this.client.stores.emojis.loading} ***Sending announcement, please wait...***`); + if (args[0] === '-e') await this.client.util.exec(`echo "\n\n**************************************************************************\nEMERGENCY SYSTEM BROADCAST MESSAGE | Library of Code sp-us (root enforced)\n--------------------------------------------------------------------------\n\n\n${args.slice(1).join(' ')}\n\n\n\n\n\n\n\n\n\n\n\n\n" | wall -n`); + else await this.client.util.exec(`echo "\nSYSTEM BROADCAST MESSAGE | Library of Code sp-us (root enforced)\n\n\n${args.join(' ')}" | wall -n`); + message.delete(); + return notification.edit(`${this.client.stores.emojis.success} ***Sent announcement to all active terminals***`); + } catch (error) { + return this.client.util.handleError(error, message, this); + } + } +}