Node.js My random image bot尝试从主文件夹而不是指定文件夹中提取图像
我已经尝试了好几次让这个工作,但不知道如何直接机器人到适当的文件夹 当我运行命令时,总是会出现此错误 (节点:15532)未经处理的PromisejectionWarning:错误:eNote:没有这样的文件或目录,stat'c:\Users\Owner\Desktop\Discordbot\93c5b877d8afcf7a9590fcb149e849c53c6cc1ed.jpg' 有人知道我做错了什么以及如何修复吗Node.js My random image bot尝试从主文件夹而不是指定文件夹中提取图像,node.js,discord,discord.js,Node.js,Discord,Discord.js,我已经尝试了好几次让这个工作,但不知道如何直接机器人到适当的文件夹 当我运行命令时,总是会出现此错误 (节点:15532)未经处理的PromisejectionWarning:错误:eNote:没有这样的文件或目录,stat'c:\Users\Owner\Desktop\Discordbot\93c5b877d8afcf7a9590fcb149e849c53c6cc1ed.jpg' 有人知道我做错了什么以及如何修复吗 const { Client, MessageAttachment } = r
const { Client, MessageAttachment } = require('discord.js');
var fs = require('fs');
var files = fs.readdirSync('./pics/'); // I thought this would direct it to where it neeeds to be
module.exports = {
execute(message, args){
var item = files[Math.floor(Math.random() * files.length)];
var item = new MessageAttachment(item);
message.channel.send(item)
}
}
请帮助。我建议您使用绝对路径
\uuu dirname
,它将指向当前文件的目录
var files=fs.readdirSync(path.join(uu dirname,'pics'))
require.main.filename
,它将指向放置package.json
的目录(主目录)
var appDir=path.dirname(require.main.filename);
var files=fs.readdirSync(path.join(appDir,'pics')
我建议您使用绝对路径
\uuu dirname
,它将指向当前文件的目录
var files=fs.readdirSync(path.join(uu dirname,'pics'))
require.main.filename
,它将指向放置package.json
的目录(主目录)
var appDir=path.dirname(require.main.filename);
var files=fs.readdirSync(path.join(appDir,'pics')
文件夹“pics”是主根文件夹还是子文件夹?它与index.js和package.json在同一文件夹中?文件夹“pics”是主根文件夹还是子文件夹?它与index.js和package.json
var files=fs.readdirSync(path.join(u dirname,'pics')在同一文件夹中代码>我这样做了,它将进入我的命令文件夹而不是主文件夹。我如何防止这种情况发生?@AsukaSZN我已经根据你的评论更新了我的答案。图片应该只保留为“pics”还是“/pics/”?@AsukaSZNpath.join
将处理斜杠。只需使用'pics'var files=fs.readdirSync(path.join('pics')代码>我这样做了,它将进入我的命令文件夹而不是主文件夹。我如何防止这种情况发生?@AsukaSZN我已经根据你的评论更新了我的答案。图片应该只保留为“pics”还是“/pics/”?@AsukaSZNpath.join
将处理斜杠。只需使用“图片”