aboutsummaryrefslogtreecommitdiff
path: root/src/commands/fun/coinflip.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/fun/coinflip.ts')
-rw-r--r--src/commands/fun/coinflip.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/commands/fun/coinflip.ts b/src/commands/fun/coinflip.ts
new file mode 100644
index 0000000..68484bb
--- /dev/null
+++ b/src/commands/fun/coinflip.ts
@@ -0,0 +1,26 @@
+import { BushCommand, BushMessage, BushSlashMessage } from '@lib';
+
+export default class CoinFlipCommand extends BushCommand {
+ public constructor() {
+ super('coinflip', {
+ aliases: ['coinflip', 'cf'],
+ category: 'fun',
+ description: {
+ content: 'Flip a virtual coin.',
+ usage: 'coinflip',
+ examples: ['coinflip']
+ },
+ clientPermissions: ['SEND_MESSAGES']
+ });
+ }
+
+ public async exec(message: BushMessage | BushSlashMessage): Promise<void> {
+ const random = Math.random();
+ let result: string;
+ const fall = message.author.id === '322862723090219008' ? 0.1 : 0.001;
+ if (random < fall) result = 'The coin fell off the table :(';
+ else if (random <= 0.5 + fall / 2) result = 'Heads';
+ else result = 'Tails';
+ await message.util.reply(result);
+ }
+}