首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Disnake / discord.py如何编辑一个在多天后嵌入的机器人?

Disnake / discord.py如何编辑一个在多天后嵌入的机器人?
EN

Stack Overflow用户
提问于 2022-07-12 06:12:39
回答 1查看 306关注 0票数 0

我有一个机器人,它发布带有嵌入和一些按钮的消息。过了一段时间(最多几天),我想要更改嵌入和删除按钮中的一些文本。这应该不会对任何事件做出反应,而是完全基于时间戳,这意味着我没有一个引用原始消息的交互对象。

我猜想原则上我可以使用asyncio.sleep()bot.wait_for(),但是我已经经历过,如果连接在某个时候丢失,即使它只在很短的时间内丢失,这些连接很容易失败。大多数情况下,当时间超过几个小时时,预定的事件就不会触发。有什么办法让这个更可靠吗?

我想到的另一种可能是在我的DB中记录信道和消息id,然后,一旦时机成熟,用bot.get_channel(channel_id)channel.fetch_message(message_id)获取消息并更新它。对我来说,这似乎是一种解决办法,所以我想知道是否有一种更直接、更优雅的方法来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2022-08-06 03:16:59

我在这个场景中使用的任何其他公共机器人开发人员使用的解决方案是:

  1. 存储时间戳,以及必要的详细信息,如messageIDchannelIDGuildID
  2. 将消息发布为web钩子,因此我们只需存储、TimeStamp、和TimeStamp(不和谐)。

您可以创建一个@tasks.loop()来检查时间戳,然后,您可以根据消息的类型(对Web钩子消息使用讯息(MessageID) )获取消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72947764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档