Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript discord.jsv12的问题_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript discord.jsv12的问题

Javascript discord.jsv12的问题,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我正在制作一个机器人来提供有关新冠病毒19的信息,一切都很好,但我不知道为什么当我搜索一个有空格的国家时,我得到的是“未定义”而不是数据。。。我的代码: client.on(“消息”,异步(消息)=>{ const args=message.content.trim().split(+/+/g); if(message.content.startsWith(前缀+“states”)){ const country=args[1]; var请求=要求(“请求”); 退货申请( `https://c

我正在制作一个机器人来提供有关新冠病毒19的信息,一切都很好,但我不知道为什么当我搜索一个有空格的国家时,我得到的是“未定义”而不是数据。。。我的代码:

client.on(“消息”,异步(消息)=>{
const args=message.content.trim().split(+/+/g);
if(message.content.startsWith(前缀+“states”)){
const country=args[1];
var请求=要求(“请求”);
退货申请(
`https://corona.lmao.ninja/v2/states/${country}`,
(错误、响应、正文)=>{
如果(错误)抛出错误;
var data=JSON.parse(body);
让西班牙=新的不和。MessageEmbed()
.setColor(“ff0000”)
.setTitle(`Sars-Cov-2疾病在${country}`)
.addField(“:o:•案例•:o:”,data.Cases)
.addField(“:o:•活动案例•:o:”,data.Active)
.addField(“:试管:•已恢复•:试管:”,数据。已恢复)
.addField(“:骷髅:•死亡:•:骷髅:”,数据。死亡)
.addField(“:骷髅:•今天的死亡人数•:骷髅:”,数据。今天的死亡人数”)

.addField(
URL
s中的空格替换为
%20

您需要像这样编写
URL

`https://corona.lmao.ninja/v2/states/${country.replace(/\s/, '%20')}`

这对我很有用。我添加的内容的解释在代码中。 如果您在代码方面仍然有问题或需要帮助,请告诉我,我很乐意提供帮助。 请尝试理解我在这段代码中使用的每一种方法,如果你不理解,你可以在Discord上添加我(ПіС#1311),我会帮助你(我也会说西班牙语)

client.on(“消息”,异步(消息)=>{
const prefix=“t-”;//将此添加到我的机器人中的测试中。如果以前定义了前缀,则应删除此行。
const args=message.content.substring(prefix.length).split(“”;//定义了args,就像我对我的机器人程序所做的一样
const command=args.shift().toLowerCase();//定义此变量以使args更易于使用(我总是这样使用)
如果(命令==“状态”){
const country=args.join(“”)//您应该使用array.join(…)函数,因为成员可能正在查找具有空格(如“New York”)的国家/地区。
//(如果使用args[0],机器人将只搜索“New”而不是“New York”)
if(!country)return;//检查国家(Args)是否未定义。如果有人使用该命令但未选择任何国家,则添加此返回
var请求=要求(“请求”);
退货申请(
`https://corona.lmao.ninja/v2/states/${country}`,
(错误、响应、正文)=>{
如果(错误)抛出错误;
var data=JSON.parse(body);
if(data&&data.message===“State not found or not have any cases”)返回message.reply(“State not found or not have any cases”)//如果链接未找到所选国家,则bot将返回此消息
让西班牙=新的不和。MessageEmbed()
.setColor(“ff0000”)
.setTitle(`Sars-Cov-2疾病在${country}`)
.addField(“:o:•案例•:o:”,data.Cases)
.addField(“:o:•活动案例•:o:”,data.Active)
.addField(“:试管:•已恢复•:试管:”,数据。已恢复)
.addField(“:骷髅:•死亡:•:骷髅:”,数据。死亡)
.addField(“:骷髅:•今天的死亡人数•:骷髅:”,数据。今天的死亡人数”)

.addField(“你在空格处把你的论点分成几部分,因此它只在需要几个字的时候传输一个字,我怎样才能用正确的方式来传输,这样它就可以在命令后处理所有的事情呢?你的变量是
country
,你所有的文本都说
country
,但是你从中获取的
API
是针对州的?是的,我在使用g{country}对于allI,我一直得到相同的错误:您应该使用
encodeURI()
,而不是一些字符串替换。空格不是唯一需要编码的字符。@SaM85使用MDN。。。。