Node.js My random image bot尝试从主文件夹而不是指定文件夹中提取图像

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

我已经尝试了好几次让这个工作,但不知道如何直接机器人到适当的文件夹

当我运行命令时,总是会出现此错误

(节点:15532)未经处理的PromisejectionWarning:错误:eNote:没有这样的文件或目录,stat'c:\Users\Owner\Desktop\Discordbot\93c5b877d8afcf7a9590fcb149e849c53c6cc1ed.jpg'

有人知道我做错了什么以及如何修复吗

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/”?@AsukaSZN
    path.join
    将处理斜杠。只需使用'pics'
    var files=fs.readdirSync(path.join('pics')我这样做了,它将进入我的命令文件夹而不是主文件夹。我如何防止这种情况发生?@AsukaSZN我已经根据你的评论更新了我的答案。图片应该只保留为“pics”还是“/pics/”?@AsukaSZN
    path.join
    将处理斜杠。只需使用“图片”