我试图用分片机器人向特定频道发送嵌入消息。我已经成功地用这个代码发送了一个简单的消息:
client.shard.broadcastEval(`
(async () => {
let channel = await this.channels.get("683353482748756047");
channel.send("Hello")
})()
`)
当我想发送嵌入消息时,问题就开始了。我尝试过这样传递变量:
//exampleEmbed is created
client.shard.broadcastEval(`
(async () => {
let channel = await this.channels.get("683353482748756047");
channel.send('${exampleEmbed}')
})()
`)
但是消息是像“[object]”一样发送的。
我想过将通道对象返回到广播Eval之外,然后发送我的变量,但是我已经读到这是不可能的,因为你不能返回完整的不和谐对象。
我应该如何发送嵌入消息?谢谢你的时间。
为了使用broadcastEval发送嵌入消息,您需要对嵌入消息进行字符串化。就你而言:
client.shard.broadcastEval(`
(async () => {
const channel = await this.channels.cache.get('683353482748756047');
if (channel) {
channel.send({ embed: ${JSON.stringify(exampleEmbed)} });
}
})();
`);
请记住,broadcastEval在所有碎片中运行代码,因此您需要检查通道是否存在,否则将出错。
好的,我通过在broadcastEval中创建嵌入消息并使用“${}”语法对其进行poblate来解决它。
例子:
client.shard.broadcastEval(`
(async () => {
const Discord = require('discord.js');
let channel = await this.channels.get("683353482748756047");
if(channel){
//if shard has this server, then continue.
let message = new Discord.RichEmbed()
.setThumbnail(this.user.displayAvatarURL)
.setTitle('Title')
.addField("Something useful:", '${useful}')
.addField("Another useful thing:", '${useful2}')
.setTimestamp()
channel.send(message)
}
})()
我只是想给加入服务器的新成员写一封欢迎信。我想在每次新成员加入时发送嵌入。但是,未发送嵌入。有人能帮我吗? 这是我的代码: 谢谢
所以我想做一个命令,允许某人发送嵌入消息,他们可以决定描述和颜色,不需要标题。嵌入说明-颜色#00000)。那是我的代码: 但是它不起作用,而且我是不和谐的新手。js,有人能修好我的代码吗?
bot发送嵌入消息,但仅发送文本而不发送gif。我有一个单独的gif文件。json文件,因此当有人使用该命令时,会有不同的GIF。但由于某种原因,它不起作用。也许是因为天气原因。json文件?我真的不知道,请帮帮我。我的代码: 该代码为。json文件: (我知道,它只有一个gif。) 当两个文件都在一个文件夹中时,我在控制台中出现的错误:图片:https://i.stack.imgur.com/8
我需要你的帮助。我正在用MQTT创建一个程序,它必须执行写在文件上的命令,并将结果发送到主题。我已经设法在终端上执行命令并打印结果,但是当我必须通过MQTT发送它时,它会创建两条消息,是否可以只发送带有结果的消息?我该怎么办?谢谢,我将放置代码,用于读取执行的命令的结果以及它发送给我的两条消息。
如何在一条消息中发送多个嵌入?像这样发送多个: 输出: 我找不到任何关于发送多个嵌入的文档,在discord.js文件中提到了它,发送了一个嵌入列表。虽然我试过这个,但它也不起作用。
我有一些不和谐的问题 我有3个嵌入:embed1、embed2、embed3,但当我尝试发送带有以下代码的消息的嵌入时: 我得到这个错误: (节点:24120)未处理的PromisejectionWarning:DiscordAPIError:无法发送空消息