DiscordJS 编辑现有嵌入
Posted
技术标签:
【中文标题】DiscordJS 编辑现有嵌入【英文标题】:DiscordJS edit existing embed 【发布时间】:2021-06-27 10:45:29 【问题描述】:我想编辑 discord.js 中的现有嵌入。但我收到message.edit
不是函数的错误。
代码:
await mongo().then(async mongoose =>
const results = await applicationSchema.findOneAndDelete(
guildId: guildId,
applicationId: applicationId
)
for (const application of results.applications)
const applicationId, userId, appliedfor = application
user22 = bot.users.cache.get(userId);
let acceptembed = new Discord.MessageEmbed()
.setColor(colours.maincolour)
.setDescription(`Lieber <@$userId>! Deine Bewerbung wurde angenommen!`)
user22.send(acceptembed)
// m = reaction.messages.cache.fetch(applicationId);
// m.edit(null, embed: output );
let message = bot.channels.cache.get('823554343827013652').messages.fetch(applicationId)
await message.edit()
)
【问题讨论】:
你需要在这里等待:let message = await bot.channels.cache.get(...).messages.fetch()
因为 fetch 返回一个承诺。
好的。谢谢@ZsoltMeszaros,它现在可以工作了 c:
太好了,不客气:)
【参考方案1】:
您要发送的消息应该放在.edit()
中,就像放在.send()
中一样。请注意,这不会添加到消息中,而是替换它。
bot.channels.cache.get('823554343827013652').messages.fetch(applicationId)
.then(message => message.edit(acceptembed));
【讨论】:
以上是关于DiscordJS 编辑现有嵌入的主要内容,如果未能解决你的问题,请参考以下文章
Discord js - 如何在给定的时间段内继续对消息做出反应并编辑嵌入
DiscordJS 13用户嵌入显示在特定频道发送的最后一条消息