Discord.js 试图为我的discord服务器添加映像命令,但它一直在说';未定义选项';

Discord.js 试图为我的discord服务器添加映像命令,但它一直在说';未定义选项';,discord.js,Discord.js,我试图为我的Discord服务器添加一个image命令,但它一直说“选项未定义”。我正在使用VisualStudio代码 client.commands=newdiscord.Collection(); const commandFiles=fs.readdirSync('./commands/').filter(file=>file.endsWith('.js')); for(命令文件的常量文件){ const command=require(`./commands/${file}`); cl

我试图为我的Discord服务器添加一个image命令,但它一直说“选项未定义”。我正在使用VisualStudio代码

client.commands=newdiscord.Collection();
const commandFiles=fs.readdirSync('./commands/').filter(file=>file.endsWith('.js'));
for(命令文件的常量文件){
const command=require(`./commands/${file}`);
client.commands.set(command.name,command);
}
client.on('message',message=>{
如果(!message.content.startsWith(prefix)| | message.author.bot)返回;
const args=message.content.slice(prefix.length.split(+/);
const命令=args.shift().toLowerCase();
如果(命令=='ping'){
client.commands.get('ping').execute(消息,参数);
}
如果(命令=='youtube'){
client.commands.get('youtube').execute(message,args);
}
如果(命令==“instagram”){
client.commands.get('instagram').execute(message,args);
}
});
client.commands=new Discord.Collection();
client.on('message',message=>{
设args=message.content.substring(PREFIX.length).split(“”);
开关(参数[0]){
案例“图像”:
图像(信息);
打破
}
});
功能图像(消息){
变量选项={
url:“http://results.dogpile.com/serp?qc=images&q=“+”被诅咒的图像“,
方法:“获取”,
标题:{
“接受”:“文本/html”,
“用户代理”:“Chrome”
}
}};
client.on('ready',()=>{
log('此bot处于联机状态!');
})
请求(选项、功能(错误、响应、响应库){
如果(错误){
返回;
}
$=cheerio.load(响应库);
var links=$(“.image a.link”);
var url=新数组(links.length).fill(0).map((v,i)=>links.eq(i).attr(“href”);
日志(URL);
如果(!url.length){
返回;
}
//发送结果
message.channel.send(URL[Math.floor(Math.random()*url.length)];
});

图像的
功能如下:

功能图像(消息){
变量选项={
url:“http://results.dogpile.com/serp?qc=images&q=“+”被诅咒的图像“,
方法:“获取”,
标题:{
“接受”:“文本/html”,
“用户代理”:“Chrome”
}
}
};
它在功能范围中定义了
选项
,不执行任何操作。因此,
选项
只能在该函数中访问。尝试将
client.on('ready',()=>…)
移动到顶部,并将
函数图像(message){…}
中的所有代码替换为以下代码:

功能图像(消息){
变量选项={
网址:'http://results.dogpile.com/serp?qc=images&q=“+”诅咒的图像“,
方法:“GET”,
标题:{
接受:“text/html”,
“用户代理”:“Chrome”,
},
};
请求(选项、功能(错误、响应、响应库){
如果(错误){
返回;
}
$=cheerio.load(响应库);
变量链接=$('.image a.link');
var url=新数组(links.length)
.fill(0)
.map((v,i)=>links.eq(i).attr('href');
日志(URL);
如果(!url.length){
返回;
}
//发送结果
message.channel.send(URL[Math.floor(Math.random()*url.length)];
});
}

图像的
功能如下:

功能图像(消息){
变量选项={
url:“http://results.dogpile.com/serp?qc=images&q=“+”被诅咒的图像“,
方法:“获取”,
标题:{
“接受”:“文本/html”,
“用户代理”:“Chrome”
}
}
};
它在功能范围中定义了
选项
,不执行任何操作。因此,
选项
只能在该函数中访问。尝试将
client.on('ready',()=>…)
移动到顶部,并将
函数图像(message){…}
中的所有代码替换为以下代码:

功能图像(消息){
变量选项={
网址:'http://results.dogpile.com/serp?qc=images&q=“+”诅咒的图像“,
方法:“GET”,
标题:{
接受:“text/html”,
“用户代理”:“Chrome”,
},
};
请求(选项、功能(错误、响应、响应库){
如果(错误){
返回;
}
$=cheerio.load(响应库);
变量链接=$('.image a.link');
var url=新数组(links.length)
.fill(0)
.map((v,i)=>links.eq(i).attr('href');
日志(URL);
如果(!url.length){
返回;
}
//发送结果
message.channel.send(URL[Math.floor(Math.random()*url.length)];
});
}

你能粘贴完整的错误代码吗:)这是完整的代码,但我有一个新问题:/“commandFiles”已经声明在顶部附近。我不确定要记录什么。请粘贴完整的错误代码:)这是完整的代码,但我有一个新问题:/“commandFiles”已经声明在顶部附近。我不确定是什么做