我试着做一个掷硬币的命令,用户.cf heads
输入,机器人向他展示他的答案、结果以及他们是赢还是输。
我尝试使用args
和不使用它,但它不起作用;我的代码中有一个错误:
bot.on('message', message => {
const prefix = '.';
if (!message.content.startsWith(prefix)) return;
const args = message.content.slice(prefix.length).trim().split(/ +/g)
const cmd = args.shift().toLowerCase();
var choice = 'h';
if (args[1] != undefined)
args[1] = args[1].toLowerCase();
if (args[1] == 'heads' || args[1] == 'h' || args[1] == 'head')
choice = 'h';
else if (args[1] == 'tails' || args[1] == 't' || args[1] == 'tail')
choice = 't';
if (cmd === 'cf' || cmd === 'coin' || cmd === 'flip' || cmd ===
'coinflip') {
var coins = [
"heads",
"tails"
];
coinz = coins[Math.floor(Math.random() * coins.length)];
if (choice != coinz) {
message.channel.send(`Your bet: \`${args[1]}\`,
outcome: \`${coinz}\` you lose`);
} else {
message.channel.send(`Your bet: \`${args[1]}\`,
outcome: \`${coinz}\` you win`);
};
};
});
代码有效,但它给了我 100% 的失败,有时${args[1]}
虽然我输入了,但它是未定义的heads
,h
或head
;${coinz}
每次都是尾巴。