-
Notifications
You must be signed in to change notification settings - Fork 3
/
random.js
29 lines (29 loc) · 913 Bytes
/
random.js
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
27
28
29
module.exports = {
commands: {
random: {
aliases: ['choice'],
help: 'Selects a random choice or number',
command: function (bot, msg) {
if (msg.args.length > 2) { // e.g. !random foo bar baz
// Select a random choice from a list:
msg.args.shift()
return msg.args[Math.floor(Math.random() * msg.args.length)]
} else if (msg.args.length === 2) { // e.g. !random 6
// Select a random integer from a range:
const res = Math.floor(Math.random() * Math.floor(msg.args[1]))
if (!isNaN(res)) {
return res.toString()
}
}
return 'Usage: (<number>|<choice 1> … <choice n>)'
}
},
coin: {
help: 'Flips a coin',
command: function () {
const faces = ['Heads!', 'Tails!']
return faces[Math.floor(Math.random() * faces.length)]
}
}
}
}