我正在使用Node.js、discord.js和https://github.com/rigwild/discord-self-bot-console自学通过discord发送自动消息。这不是通过官方discord机器人使用的,而是通过用户帐户使用的。(我知道这有被禁止的风险,这只是一个个人项目)
我遇到的问题是试图上传本Map片。虽然我可以得到不和谐的显示文本和附加图像的网址,每次我试图上传一个本地文件,文本发送,但文件从来没有附加。我也不想做它作为一个嵌入,只是作为一个附件。
(我有discord.js 14.8.0和node-fetch ^2.6.6)
下面是我的实际代码:
const fetch = require('node-fetch')
const fs = require('fs');
// Discord self-bot API here, found at https://gist.github.com/rigwild/6063278cbc9267e7691c084c67176114
(async () => {
// Function to send a message with a local file
async function sendMessageWithFile(channelOrThreadId, message, filePath) {
const fileData = await fs.promises.readFile(filePath); // Read file data
console.log(fileData)
const sentMessage = await api.sendMessage(channelOrThreadId, '', false, body = {
content: message,
files: [
{
attachment: fileData,
name: 'chosen.png' // Replace with the name of the file you want to send
}
]
});
return sentMessage;
}
// Usage example
const channelId = ''; // Replace with the ID of the channel you want to send the message to
const filePath = ''; // Replace with the path to the file you want to send
sendMessageWithFile(channelId, 'Here is a local file:', filePath)
.then(sentMessage => {
console.log('Message sent:', sentMessage);
})
.catch(error => {
console.error('Error sending message:', error);
});
})()
1条答案
按热度按时间anauzrmj1#
嘿,如果你使用一个图像链接,这对你来说会容易得多。或者你可以使用discord.js MessageAttachment('Image.png ')中的构建。