image - 无法通过 Electron 应用程序在Discordjs上发送附加到消息的图像

标签 image electron discord

我正在尝试为使用discordjs编写的Discord机器人构建图形界面。
但是,我在发送图像时遇到问题。
这是我的代码的一部分,负责向用户发送消息:

utilsateur.createDM().then(channeltemp => {
    let attachment = new Discord.MessageAttachment('./image.png');
    channelDM = channeltemp;
    channelDM.send("message", attachment);
});
图像“image.png”与脚本位于同一文件夹中。我一直在nodejs上运行脚本,没有任何问题,但是,当我尝试通过我的 Electron 应用程序的html页面运行脚本时,出现此错误:
Uncaught (in promise) TypeError [REQ_RESOURCE_TYPE]: The resource must be a string, Buffer or a valid file stream.
我认为这与路径无关,因为我尝试更改路径(绝对路径,相对路径...)没有成功,而且我可以在 Electron 应用程序的Excel中访问某些数据。
有人知道如何解决我的问题吗?
如果我对技术术语(我是初学者)犯了一些错误,或者甚至因为英语不是我的母语而在语法上的错误,我感到很抱歉。
感谢你的帮助 ! :)

最佳答案

我不太确定问题出在哪里,要么在attachment的声明上,要么在channelDm.send的声明上。但是,根据我最近与Discord服务器中的一些人进行的讨论,这可能是由于未给出本地数据的完整路径引起的,在您的情况下,您给出的是./image.png的相对路径,并假设错误位于attachment的声明。
如果您使用的是NodeJS,则可能要尝试将完整的图像路径放在MessageAttachment构造函数的第一个参数上。

const path = require('path');

const fileName = 'image.png';

utilsateur.createDM().then(channeltemp => {
    let attachment = new Discord.MessageAttachment(path.join(__dirname, fileName));
    channelDM = channeltemp;
    channelDM.send("message", attachment);
});
__dirname是从NodeJS documentation引用的:

<string>

The directory name of the current module. This is the same as the path.dirname() of the __filename.


我希望这都能回答问题并解决您的问题。如果没有,我必须提前道歉,我也是一个初学者,目前从Discord.py迁移后才开始使用DiscordJS。

关于image - 无法通过 Electron 应用程序在Discordjs上发送附加到消息的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62747864/

相关文章:

python - 如何在开发服务器(Google App Engine)中使用生产 BlobStore

php - 如何从 mp4 文件生成图像?

python - 在pyqt中显示接收到的图像

javascript - 从提交的图像中获取 URL

Discord Js 为具有默认头像的服务器成员提供 null avatarURL

javascript - 更改每个图像源以加载较小的版本

javascript - 无法让我的主进程和渲染器进程在 Electron 中进行通信

electron - 从electronjs项目创建debian文件时显示错误

java - 如何将 Electron.js 与桌面应用程序的 Java 代码连接起来?

javascript - 如何在 Discord 中创建一个接受用户输入的弹出窗口?