繁体   English   中英

Discord.js v12 Covid Stats 命令

[英]Discord.js v12 Covid Stats command

所以基本上我有一个 covid 命令,它可以显示统计数据并且可以完美运行。尽管如此。 每当您说一些不是真实文本的内容时,例如“covid ejdetj”,它都会不停地给出错误。 我来到这里是因为我不知道如何捕捉错误,所以如果有人说“covid kfgk”,它会发回一条消息“不能这样做”,代码如下。

client.on('message', async message =>{
  if(message.content.toLowerCase() === prefix + "covid all") {
    const coronaEmbed = new Discord.MessageEmbed()
    const data = await api.all()
    coronaEmbed.setColor('#00B2B2')
    .setTitle("🌐 Global Cases")
    .setDescription("Number of cases may differ from other sources")
    .addField("Cases", data.cases, true)
    .addField("Active", data.active, true)
    .addField("Cases Today", data.todayCases, true)
    .addField("Critical Cases", data.critical, true)
    .addField("Deaths", data.deaths, true)
    .addField("Recovered", data.recovered, true)
    .setFooter(`Requested by ${message.author.tag}`, message.author.displayAvatarURL())
    .setTimestamp()
    message.channel.send(coronaEmbed);
    
  } else if(message.content.toLowerCase().startsWith(prefix + "covid") && message.content.toLowerCase() !== prefix + "covid all") {
    const countrycovid = message.content.slice(prefix.length).split(' ')
    const countrydata = await api.countries({country: countrycovid})
    const countryEmbed = new Discord.MessageEmbed()
    .setColor('#00B2B2')
    .setTitle(`${countrycovid[1]} cases`).setThumbnail(countrydata.countryInfo.flag)
    .setDescription("Number of cases may differ from other sources")
    .addField("Cases", countrydata.cases, true)
    .addField("Active", countrydata.active, true)
    .addField("Cases Today", countrydata.todayCases, true)
    .addField("Critical Cases", countrydata.critical, true)
    .addField("Deaths", countrydata.deaths, true)
    .addField("Recovered", countrydata.recovered, true)
    .setFooter(`Requested by ${message.author.tag}`, message.author.displayAvatarURL())
    .setTimestamp()
    message.channel.send(countryEmbed);
} else {
  if(message.content.toLowerCase() === prefix + "help covid all") {
    const newEmbed = new Discord.MessageEmbed()
    .setColor('#00B2B2')
    .setTitle('**Covid All Help**')
    newEmbed.setDescription('This command sends you an executor of the global corona stats.')
    .setFooter(`Requested by ${message.author.tag}`, message.author.displayAvatarURL())
    .setTimestamp();
    message.channel.send(newEmbed);
  
} else {
  if(message.content.toLowerCase() === prefix + "help covid country") {
    const newEmbed = new Discord.MessageEmbed()
    .setColor('#00B2B2')
    .setTitle('**Covid Country Help**')
    newEmbed.setDescription('This command sends you an executor of the corona stats in countries around the world.')
    .setFooter(`Requested by ${message.author.tag}`, message.author.displayAvatarURL())
    .setTimestamp();
    message.channel.send(newEmbed)
  }
}}})

const countrydata = await api.countries({country: countrycovid})上使用 trycatch 语句!

它看起来像这样:

try {
  const countrydata = await api.countries({country: countrycovid})
} catch (err) {
  message.reply("Can't do this");
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM