aboutsummaryrefslogtreecommitdiff
path: root/src/commands/fun/coinFlip.ts
blob: 3adf7f2fa66d000a6da1cc883e69dcf10a91d3a1 (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
25
26
import { BushCommand, clientSendAndPermCheck, type CommandMessage, type SlashMessage } from '#lib';

export default class CoinFlipCommand extends BushCommand {
	public constructor() {
		super('coinFlip', {
			aliases: ['coin-flip', 'cf'],
			category: 'fun',
			description: 'Flip a virtual coin.',
			usage: ['coinflip'],
			examples: ['coinflip'],
			clientPermissions: (m) => clientSendAndPermCheck(m),
			userPermissions: [],
			slash: true
		});
	}

	public override async exec(message: CommandMessage | SlashMessage) {
		const random = Math.random();
		let result: string;
		const fall = message.author.id === '322862723090219008' ? 0.1 : 0.001; //dw about it
		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);
	}
}