mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-05 22:01:54 +02:00
Support "hit" and "stand" in blackjack verification
This commit is contained in:
@@ -3,6 +3,8 @@ const { stripIndents } = require('common-tags');
|
||||
const { shuffle, verify } = require('../../util/Util');
|
||||
const suits = ['♣', '♥', '♦', '♠'];
|
||||
const faces = ['Jack', 'Queen', 'King'];
|
||||
const hitWords = ['hit', 'hit me'];
|
||||
const standWords = ['stand'];
|
||||
|
||||
module.exports = class BlackjackCommand extends Command {
|
||||
constructor(client) {
|
||||
@@ -62,7 +64,7 @@ module.exports = class BlackjackCommand extends Command {
|
||||
|
||||
_Hit?_
|
||||
`);
|
||||
const hit = await verify(msg.channel, msg.author);
|
||||
const hit = await verify(msg.channel, msg.author, { otherYes: hitWords, otherNo: standWords });
|
||||
if (hit) {
|
||||
const card = this.draw(msg.channel, playerHand);
|
||||
const total = this.calculate(playerHand);
|
||||
|
||||
@@ -72,7 +72,7 @@ module.exports = class BoxChoosingCommand extends Command {
|
||||
path += pick;
|
||||
i = 0;
|
||||
} else {
|
||||
const verification = await verify(msg.channel, msg.author, 120000);
|
||||
const verification = await verify(msg.channel, msg.author, { time: 120000 });
|
||||
if (!verification) {
|
||||
end = true;
|
||||
break;
|
||||
|
||||
@@ -66,7 +66,7 @@ module.exports = class HungerGamesCommand extends Command {
|
||||
}
|
||||
text += `\n\n_Proceed?_`;
|
||||
await msg.say(text);
|
||||
const verification = await verify(msg.channel, msg.author, 120000);
|
||||
const verification = await verify(msg.channel, msg.author, { time: 120000 });
|
||||
if (!verification) {
|
||||
this.client.games.delete(msg.channel.id);
|
||||
return msg.say('See you next time!');
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "xiao",
|
||||
"version": "112.20.0",
|
||||
"version": "112.20.1",
|
||||
"description": "Your personal server companion.",
|
||||
"main": "Xiao.js",
|
||||
"scripts": {
|
||||
|
||||
+5
-4
@@ -124,10 +124,11 @@ module.exports = class Util {
|
||||
return `[${title}](${url.replace(/\)/g, '%27')}, "${display}")`;
|
||||
}
|
||||
|
||||
static async verify(channel, user, time = 30000) {
|
||||
static async verify(channel, user, { time = 30000, extraYes = [], extraNo = [] }) {
|
||||
const filter = res => {
|
||||
const value = res.content.toLowerCase();
|
||||
return (user ? res.author.id === user.id : true) && (yes.includes(value) || no.includes(value));
|
||||
return (user ? res.author.id === user.id : true)
|
||||
&& (yes.includes(value) || no.includes(value) || extraYes.includes(value) || extraNo.includes(value));
|
||||
};
|
||||
const verify = await channel.awaitMessages(filter, {
|
||||
max: 1,
|
||||
@@ -135,8 +136,8 @@ module.exports = class Util {
|
||||
});
|
||||
if (!verify.size) return 0;
|
||||
const choice = verify.first().content.toLowerCase();
|
||||
if (yes.includes(choice)) return true;
|
||||
if (no.includes(choice)) return false;
|
||||
if (yes.includes(choice) || extraYes.includes(choice)) return true;
|
||||
if (no.includes(choice) || extraNo.includes(choice)) return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user