switch语句未触发

时间:2020-07-28 18:05:39

标签: javascript discord.io

我不确定为什么未注释的开关不会触发。

应该发生的是用户输入D [int],例如D20。 然后脚本将D和字符串分开。将字符串转换为标记为X的实际int。然后,如果该int大于0,它将提供0到X之间的随机数。

但是,当(X <0)时,case语句不会触发:

我对这一切都是超级新手,因此对您的帮助深表感谢!

代码附在下面。

var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
function getRndInteger(min, max) {
  return Math.floor(Math.random() * (max - min + 1) ) + min;
}
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(new logger.transports.Console, {
    colorize: true
});
logger.level = 'debug';
// Initialize Discord Bot
var bot = new Discord.Client({
   token: auth.token,
   autorun: true
   
});
bot.on('ready', function (evt) {
    logger.info('Connected');
    logger.info('Logged in as: ');
    logger.info(bot.username + ' - (' + bot.id + ')');
});
bot.on('message', function (user, userID, channelID, message, evt) {
    // Our bot needs to know if it will execute a command
    // It will listen for messages that will start with `!`
    if (message.substring(0, 1) == 'D') {
        var args = message.substring(1).split(' ');
        var cmd = args[0];
        var X = Number(cmd)
        
        args = args.splice(1);
        switch(cmd) {
            // !ping
            case (X > 0):
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,X)
                });
            break;
/*            case '4':
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,4)
                });
            break;
            case '6':
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,6)
                });
            break;
            case '8':
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,8)
                });
            break;
            case '10':
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,10)
                });
            break;
            case '12':
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,12)
                });
            break;
            case '20':
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,20)
                });
            break;
            case '100':
                bot.sendMessage({
                    to: channelID,
                    message: getRndInteger(1,100)
                });
            break; 
            */
          // Just add any case commands if you want to..
        }
    }
});

0 个答案:

没有答案