Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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.JS中发出狗的命令_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript 在Discord.JS中发出狗的命令

Javascript 在Discord.JS中发出狗的命令,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我试图弄清楚如何发出一个命令,使GET请求并返回嵌入的图像。以下是我尝试过的代码: const Discord=require('Discord.js'); const fetch=require('node-fetch'); module.exports={ 名称:“afv!狗”, 描述:“从dog.ceo那里抓到一只可爱的小狗”, 执行(消息、参数、机器人){ const prevmsg=msg const fetchEmbed=new Discord.MessageEmbed() .set

我试图弄清楚如何发出一个命令,使
GET
请求并返回嵌入的图像。以下是我尝试过的代码:

const Discord=require('Discord.js');
const fetch=require('node-fetch');
module.exports={
名称:“afv!狗”,
描述:“从dog.ceo那里抓到一只可爱的小狗”,
执行(消息、参数、机器人){
const prevmsg=msg
const fetchEmbed=new Discord.MessageEmbed()
.setColor(“#e3dcd3”)
.setTitle(':dog:Woof!让我给你找只狗!')
.setDescription(“这不会花很长时间…”)
msg.reply(fetchEmbed).然后(msg=>{
const{message}=wait fetch('https://dog.ceo/api/breeds/image/random,然后(response=>response.text());
console.log(消息)
const doneEmbed=new Discord.MessageEmbed()
.setColor(“#e3dcd3”)
.setTitle(':dog:Woof!找到一个!')
.setImage(消息)
msg.delete();
prevmg.channel.send(doneEmbed);
})
},
};
当我尝试运行
index.js
时会发生这种情况:

const { message } = await fetch('https://dog.ceo/api/breeds/image/random').then(response => response.json());
                          ^^^^^

SyntaxError: await is only valid in async function

您没有等待
prevmg.channel.send(doneEmbed),如果我没看错的话


编辑:我错了

您需要使用
response.json()
而不是
response.text()
.text()
用于标准的
html
纯文本,但是您使用的dog API返回一个对象。

很抱歉没有包含此内容,但当我尝试此建议和下面的答案时,结果是这样的
const{message}=wait-fetch('https://dog.ceo/api/breeds/image/random)。然后(response=>response.json());^^SyntaxError:await仅在async函数中有效
很抱歉没有这样说,我已经编辑了这个问题,并且也向其他回答者说过。很抱歉没有包括这个,但是当我尝试这个建议和下面的答案时,它得出了这个结论
const{message}=wait-fetch('https://dog.ceo/api/breeds/image/random)。然后(response=>response.json());^^SyntaxError:await仅在异步函数中有效
很抱歉没有这样说,我已经编辑了这个问题,并且也对其他回答者说了这句话。请将
execute(msg,args,bot){
更改为
async execute(msg,args,bot){
使之成为
异步
@IceBotYT您能提供更多关于为什么这样做的信息吗“不工作”?您收到相同的错误消息了吗?啊,我的错。更改
msg.reply(fetchEmbed)。然后(msg=>{
msg.reply(fetchEmbed)。然后(async(msg)=>{
当然。让我试试。