亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢測 args 是否為空(discord.js)

如何檢測 args 是否為空(discord.js)

浮云間 2023-06-09 17:01:58
我正在為我的機器人 (-8ball) 執行 8ball 命令,但是當用戶僅鍵入 8ball 命令時,機器人崩潰,我的代碼是這樣的:client.on('message', message => {   var command = "-8ball";   if (message.content.startsWith(command)) {     const args = message.content.slice(command.length).split(/ +/g);     let respuesta = ["Si", "No", "Tal vez", "Obvio", "Yo digo que si", "Yo digo que no", "Probablemente"]     var random = respuesta[Math.floor(Math.random() * respuesta.length)]     const embed = new Discord.MessageEmbed()        .addField("Pregunta:", `${args.join(" ")}`)        .addField("Respuesta:", `${random}`)        .setColor("RANDOM")     message.channel.send(embed)   }});我如何檢測參數是否為空?
查看完整描述

4 回答

?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

因為 0 是假的:


console.log(0 == false);

您可以使用Array.prototype.length(如果數組中沒有元素,它將返回 0)


client.on("message", (message) => {

  var command = "-8ball";

  if (message.content.startsWith(command)) {

    const args = message.content.slice(command.length).split(/ +/g);

    if (!args.length)

      return message.channel.send('You did not input a question');

    let respuesta = [

      "Si",

      "No",

      "Tal vez",

      "Obvio",

      "Yo digo que si",

      "Yo digo que no",

      "Probablemente",

    ];

    var random = respuesta[Math.floor(Math.random() * respuesta.length)];

    const embed = new Discord.MessageEmbed()

      .addField("Pregunta:", `${args.join(" ")}`)

      .addField("Respuesta:", `${random}`)

      .setColor("RANDOM");

    message.channel.send(embed);

  }

});


查看完整回答
反對 回復 2023-06-09
?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

您可以通過簡單地檢查其length屬性來檢查空數組。

例如,!args.length如果args沒有元素,將返回 true,如果其中至少包含 1 個或多個元素,則返回 false

您可以使用它來檢查 args 是否為空

if?(!args.length)?{
??//?Code?To?Execute?If?Args?Is?Empty
??}
查看完整回答
反對 回復 2023-06-09
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

僅當 args 是一個數組且不為空時才為真

if (args instanceof Array && args.length)

如果你需要它,請使用它

if (!(args instanceof Array && args.length))


查看完整回答
反對 回復 2023-06-09
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

您可以只測試數組的第一個元素。

if(!args[0]) return;


查看完整回答
反對 回復 2023-06-09
  • 4 回答
  • 0 關注
  • 227 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號