Discord Bot UI 持久视图的限制?

问题描述 投票:0回答:1

我正在制作一个机器人,它可以从斜杠命令生成可交互的消息。这些消息需要使用命令从 API 获取数据,并且具有用于发出 API 请求以及消息视图中存储的信息的按钮。每个用户都有自己的 API 身份验证令牌,因此按钮应该由不同的用户在不同的时间重复使用。鉴于此,我有点想让消息视图持久化,以便用户可以将命令放入频道中,而另一个用户可以在将来随时使用它。然而,通过阅读discord.py文档,我意识到每当机器人重新启动时,每个视图都必须重新初始化。最重要的是,拥有与我预期一样多的消息,而且不会超时,这让我在性能/限制方面有点担心。

所以我想弄清楚:Discord 对每个服务器上机器人可以拥有的持久视图数量是否有限制?是否存在性能/内存问题?这是可行的还是我飞得太靠近太阳了???

discord discord.py
1个回答
0
投票

在构建具有与斜线命令和 API 数据绑定的持久可交互消息视图的机器人时,重要的是要考虑平台的限制和性能问题。在 Discord 中,当机器人重新启动时,每个持久视图都必须重新初始化,这意味着没有一种固有的机制可以在不重新加载视图的情况下保持视图真正持久。虽然 Discord 并未对机器人可以拥有的持久视图数量施加严格限制,但拥有大量长期存在、不过期的视图可能会导致性能或内存问题,特别是在机器人同时管理许多用户的情况下跨多个服务器。每个视图都会添加到机器人的内部状态,如果没有超时机制或清理,这可能会随着时间的推移导致资源耗尽。为了避免这种情况,您可能需要实施一些策略,例如限制每个视图的生命周期或在不再使用旧视图时清理它们。此外,您可以考虑优化机器人处理用户会话和令牌管理的方式,以确保可扩展性,而不会占用系统资源。

© www.soinside.com 2019 - 2024. All rights reserved.