首页 > 解决方案 > Discord 交互,将消息从短暂变为公开

问题描述

我有一些交互会返回带有组件的短暂消息。从这些组件中,我希望能够回复非临时消息(替换临时消息)。我知道这曾经是可能的,因为很多时候我在编写应用程序时忘记在某些回复中设置选项标志,这使得消息对所有人可见。但是现在,当我尝试在不指定标志的情况下回复消息时,它不会改变并且仍然在短暂消息中显示回复。

我听说 Discord 在交互格式中添加了一个关于短暂性的新参数以获得适当的支持。我认为我的问题与此有关,即使标志选项仍然有效,我必须根据需要使用该参数。但是,文档尚未更新。

是否仍然可以这样做,是否可以在某个地方找到有关所述参数的信息?

标签: discorddiscord.js

解决方案


您无法将回复从临时回复更改为公开回复。我的建议是简单地跟进一条新消息。如果您试图将其公开给临时,您可以删除原始回复。但是你不能反过来做,因为用户必须手动删除它

interaction.reply({
  content: "ephemeral message",
  ephemeral: true
}
// you can use any event, but I am using setTimeout
setTimeout(() => {
  // interaction.deleteReply() --- only use if it starts out public
  interaction.followUp({
    content: "public message",
    ephemeral: false
  })
}, 3000)

推荐阅读