Discordpy 定时消息或禁令或角色,WITH bot restart |不和谐的

Discordpy timed message or ban or role, WITH bot restart | discordpy

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

非常感谢!

我用不和谐的齿轮编码

您将不得不使用数据库系统,例如 MongoDB 或 MySQL。您必须将活动定时 ban/mute 存储在 record/document 或另一个 table/collection 中。然后,如果您使用 MySQL,您将只会使用 Tasks 计时的 select 用户。在 MongoDB 中,您只需搜索任何已计时的用户。

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

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

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

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

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

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