Javascript Image Manipulation Discord.js:没有这样的文件或字典
我正在尝试使用Discord.js创建一个Discord Bot,但每次我尝试运行该命令时,它都会返回一个错误,并显示:Javascript Image Manipulation Discord.js:没有这样的文件或字典,javascript,node.js,discord.js,image-manipulation,Javascript,Node.js,Discord.js,Image Manipulation,我正在尝试使用Discord.js创建一个Discord Bot,但每次我尝试运行该命令时,它都会返回一个错误,并显示: UnhandledPromisejectionWarning:错误:eOne,没有这样的文件或目录。'/background.jpg' 这是我的代码: const Discord=require('Discord.js'); const Canvas=require('Canvas') module.exports={ 名称:“级别”, 描述:“级别命令”, 执行:异步(消息
UnhandledPromisejectionWarning:错误:eOne,没有这样的文件或目录。'/background.jpg'
这是我的代码:
const Discord=require('Discord.js');
const Canvas=require('Canvas')
module.exports={
名称:“级别”,
描述:“级别命令”,
执行:异步(消息,客户端)=>{
const canvas=canvas.createCanvas(700250);
const ctx=canvas.getContext('2d')
const background=await Canvas.loadImage('./background.jpg')
ctx.drawImage(背景、0、0、canvas.width、canvas.height)
const attachment=new Discord.MessageAttachment(canvas.toBuffer(),'image.png')
message.channel.send(附件)
}
}
我的文件和文件夹的图像:
问题的答案就在你的错误中。
不存在
/background.jpg
文件。
这是您可以做的:
- 确保已将图像文件复制到同一目录中
- 确保它具有正确的扩展名(
、.jpg
或.jpeg
).png
如果这不能解决您的问题,请尝试将图像托管到其他地方,并将链接放到
Canvas.loadImage()
中。您的图像文件似乎位于同一文件夹中。也许可以尝试使用绝对路径。您可以使用模块的方法将\uuu dirname
和文件名解析为绝对路径。这样使用它会起作用:
const Discord=require('Discord.js');
const Canvas=require('Canvas');
const path=require('path');
module.exports={
名称:“级别”,
描述:“级别命令”,
执行:异步(消息,客户端)=>{
const canvas=canvas.createCanvas(700250);
const ctx=canvas.getContext('2d');
const background=await Canvas.loadImage(
解析(_dirname,'./background.jpg'),
);
ctx.drawImage(背景、0、0、canvas.width、canvas.height);
const attachment=new Discord.MessageAttachment(
canvas.toBuffer(),
'image.png',
);
message.channel.send(附件);
},
};
首先,您确定在同一文件目录中有一个名为background.jpg的文件吗?您还可以使用try-catch块来处理承诺拒绝。