ai/src/modules/dice/index.ts

37 lines
797 B
TypeScript
Raw Normal View History

2018-09-03 14:42:28 +00:00
import from '../../ai';
import IModule from '../../module';
import MessageLike from '../../message-like';
export default class DiceModule implements IModule {
public readonly name = 'dice';
private ai: ;
public install = (ai: ) => {
this.ai = ai;
}
public onMention = (msg: MessageLike) => {
if (msg.text == null) return false;
const query = msg.text.match(/([0-9]+)[dD]([0-9]+)/);
if (query == null) return false;
const times = parseInt(query[1], 10);
const dice = parseInt(query[2], 10);
if (times < 1 || times > 10) return false;
if (dice < 2 || dice > 1000) return false;
const results: number[] = [];
for (let i = 0; i < times; i++) {
results.push(Math.floor(Math.random() * dice) + 1);
}
msg.reply(results.join(' '));
return true;
}
}