不和谐的定时消息或禁令或角色,带机器人重启 |不和谐

时间:2021-01-23 14:07:34

标签: python discord discord.py-rewrite

我想编写定时禁令或静音,但这样我就可以重新启动我的机器人。有没有不错的库或任何人有编码它的想法?

非常感谢!

我用不和谐的齿轮编码

2 个答案:

答案 0 :(得分:0)

您必须使用数据库系统,例如 MongoDB 或 MySQL。您必须将活动的定时禁止/静音存储在记录/文档或另一个表/集合中。然后,如果您使用 MySQL,您将只选择使用 Tasks 计时的用户。在 MongoDB 中,您只需搜索任何计时的用户即可。

您可以制作一个单独的 cog 或将其保留在您的适度 cog 中,它必须在准备好后执行,并每 5-30 分钟执行一次,检查时间是否比当前时间早。您可以使用时间戳来完成此操作。然后在时间一到就更新文档/记录并从禁止列表中删除他们的 id。

答案 1 :(得分:0)

如果它涉及重启您的机器人,那么您不能使用 RAM 来存储数据,但您需要使用硬盘来存储数据。当您的机器人运行时,它会将其数据存储在 RAM 中,这就是您可以在机器人在线时重复使用它们的原因。一旦它掉线或重新启动,由于程序关闭,所有数据都会从 RAM 中删除。

要将这些数据存储在硬盘中,您需要一个数据库。对于这样的小项目,您可以使用 JSON 或 SQLite。如果项目扩展,您可以转移到另一个 SQL,如 MySQL,它将处理更复杂和繁重的数据库。

制作一个可以发送定时消息的机器人:

  1. 您需要将何时发送消息的数据存储在您的硬盘(数据库)上,然后使用该数据发送该消息。例如,您想在 1 天内发送“你好”。这基本上意味着您想在 8/7/2021 下午 6:19(现在是 7/7/2021 下午 6:19)发送它。因此,您将 8/7/2021 6:19 PM 存储为机器人何时发送消息的数据。
  2. 然后让机器人将当前时间与您保存在数据库中的时间进行比较。如果它更大,那么它将发送消息并从数据库中删除数据。 您可以对定时封禁、角色和其他所有内容使用相同的技巧。

从技术角度来看,您可以将 Discordpy 用于所有 Discord 内容、日期时间用于检查时间、JSON(或 SQlite3)用于数据库。