📌  相关文章
📜  如何编辑消息 discord.js - Javascript (1)

📅  最后修改于: 2023-12-03 14:53:15.256000             🧑  作者: Mango

如何编辑消息 discord.js - Javascript

在 Discord.js 中,可以通过编辑消息的方式来更新已经发送的消息。这在需要更新动态信息的场合非常有用,比如显示实时数据。

编辑消息的方法

在发送消息时,会得到一个 Message 对象。通过这个对象的 edit() 方法,可以编辑这条消息。这个方法接受一个字符串参数,表示要更新的消息内容。下面是一个例子:

const message = await channel.send("Hello, World!");
message.edit("Hello, Discord.js!");

在上面的例子中,我们首先向一个频道发送了一条消息,然后得到了发送结果的 Message 对象。然后我们调用了这个 Message 对象的 edit() 方法,将消息内容从 "Hello, World!" 更新成了 "Hello, Discord.js!"。

需要注意的是,调用消息的 edit() 方法会返回一个 Promise 对象。如果要等待消息编辑成功,需要使用 await 关键字,或者在 Promise 对象上使用 then() 方法。

更改其它属性

除了修改消息的内容,还可以更改其它属性,例如消息的嵌入(embed)。要更改消息的嵌入,需要使用消息的 edit() 方法的第二个参数。这个参数应该是一个 MessageEmbed 对象,表示要更新的嵌入内容。以下是一个例子:

const message = await channel.send({embed: {title: "Hello, World!"}});
const updatedEmbed = new MessageEmbed().setTitle("Hello, Discord.js!");
message.edit({embed: updatedEmbed});

在上面的例子中,我们通过 channel.send() 方法发送了一个带有嵌入的消息,并得到了发送结果的 Message 对象。然后我们构造了一个新的 MessageEmbed 对象,将其标题从 "Hello, World!" 更新为 "Hello, Discord.js!",并将其作为第二个参数传递给 edit() 方法。

总结

Discord.js 提供了编辑消息的方法,可以通过这个方法更新已经发送的消息。可以修改消息的文本内容及其它属性,例如嵌入。在使用时需要注意调用 edit() 方法返回了一个 Promise 对象,必须要等待 Promise 被 resolved。