【问题标题】:Discord Bot won't run pass certain point in my if statement | JavascriptDiscord Bot 不会在我的 if 语句中运行通过某个点 | Javascript
【发布时间】:2021-08-15 07:58:14
【问题描述】:
  • 我不明白为什么我的代码在第一个之后没有运行任何东西 if 语句。
  • 如果我预定义时间,我可以让它完全运行 变量。
  • 虽然我不确定何时尝试接受用户输入, 它不会继续。
  • 我在 JavaScript 中编写的代码不多,所以我可能遗漏了一些东西 明显的。感谢所有帮助。
if (msg.content === "$set") {
    time = msg.content.split("$set ")[1]
    if(!time)return msg.reply("how many minutes / hours will you set the alarm")
    
    // Nothing runs past here unless I predefine the time variable

    const exampleEmbed = new Discord.MessageEmbed()
    .setColor('#26aaff')
    .setTitle('Custom Alert Set')
    .setAuthor('Temp', 'https://i.imgur.com/XX6I7Hj.jpeg', 'https://imgur.com/')
    .setDescription(`Time: ${time}`)
    .setThumbnail('https://i.imgur.com/XX6I7Hj.jpeg')
    .addFields(
      { name: 'Regular field title', value: 'Some value here' },
      { name: '\u200B', value: '\u200B' },
    )
    .setTimestamp()
    .setFooter('Built by', 'https://i.imgur.com/XX6I7Hj.jpeg');

    msg.channel.send(exampleEmbed)
  }

【问题讨论】:

    标签: javascript if-statement split discord.js


    【解决方案1】:

    首先你应该使用startsWith 命令来检查msg.content 是否以$set 开头。那么split命令应该有一个有效的参数,所以,这里可以使用空格" "

    if (msg.content.startsWith("$set")) {
     time = msg.content.split(" ")[1]
    if(!time) return msg.reply("how many minutes / hours will you set the alarm");
    
    const exampleEmbed = new Discord.MessageEmbed()
    .setColor('#26aaff')
    .setTitle('Custom Alert Set')
    .setAuthor('Temp', 'https://i.imgur.com/XX6I7Hj.jpeg', 'https://imgur.com/')
    .setDescription(`Time: ${time}`)
    .setThumbnail('https://i.imgur.com/XX6I7Hj.jpeg')
    .addFields(
      { name: 'Regular field title', value: 'Some value here' },
      { name: '\u200B', value: '\u200B' },
    )
    .setTimestamp()
    .setFooter('Built by', 'https://i.imgur.com/XX6I7Hj.jpeg');
    
     msg.channel.send(exampleEmbed);
    }
    

    告诉我这是否有效!
    编码愉快!

    【讨论】:

      【解决方案2】:

      您似乎正在检查 msg.content 是否完全正确 "$set"

      我想你想检查 msg.content 是否包含 "$set"

      所以尝试将if (msg.content === "$set") 更改为if (msg.content.startsWith("$set"))

      【讨论】:

      • 成功了,谢谢你的解释!
      猜你喜欢
      • 2019-05-28
      • 2013-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 2018-07-29
      • 1970-01-01
      • 2018-08-17
      相关资源
      最近更新 更多