我有几张照片,全都是直接图像链接(格式::nth-of-type(4n)
),还有一个用NodeJS制作的Discord bot。
我发送这样的信息:
Inspect this | Incoming Calls
我试过这个:
bot.sendMessage({
to: channelID,
message: "My Bot's message"
});
但我只收到文字。我查了一下,https://i.imgur.com/XXXXXX.jpg是唯一一个甚至接近说我需要做什么的人,但它没有用。
那么我该怎么做呢?
以下是机器人的创建方式:
bot.sendMessage({
to: channelID,
message: "My Bot's message",
file: "https://i.imgur.com/XxxXxXX.jpg"
});
答案 0 :(得分:3)
ClientUser.sendMessage
is deprecated,其选项中的file
参数也是如此。您应该使用Channel.send(message, options)
,files
作为字符串数组或FileOptions。
bot.on('message' message => {
message.channel.send("My Bot's message", {files: ["https://i.imgur.com/XxxXxXX.jpg"]});
});
如果您想坚持使用已弃用的方法,ClientUser.sendFile
可能会引起您的兴趣,但我建议您转移到更多当前的内容。
答案 1 :(得分:2)
您可以在v11.2中发送本地文件,如下所示:
var Discord = require('discord.js');
var bot = new Discord.Client();
bot.on('message', message => {
var prefix = '!'
var msg = message.content;
if (msg === prefix + 'image') {
message.channel.send('Message that goes above image', {
files: [
"./image-to-send.png"
]
});
}
});
bot.login('TOKEN');
答案 2 :(得分:1)
由于这是2019年google上的最佳搜索结果之一,所以我添加了一种新的方法来使用discord.io上传文件
与众不同的是on()
函数接受一些附加参数。
接下来是有一个名为uploadFile
的新方法,该方法带有一个uploadFileOpts
对象。 file
可以使用一个字符串,该字符串是从bot文件到图像的本地路径。
uploadFileOpts = {
to: string,
file: string|Buffer,
filename?: string,
message?: string
}
因此,如果将图像放置在bot脚本旁边,则代码应如下所示
bot.on('message', function (user, userID, channelID, message, evt) {
bot.uploadFile({
to: channelID,
file: 'myImage.jpg'
});
}
如果您仍然想从互联网上获取该图像,则需要将其转换为Buffer
对象。但是,在本地存储文件更为简单。
答案 3 :(得分:-1)
如果您使用discord.io而不是Discord.js,请参考以下语法:
https://izy521.gitbooks.io/discord-io/content/Methods/Channels.html
我仍在努力使其正常工作。