【问题标题】:How do I save command cooldowns using discord.py rewrite如何使用 discord.py rewrite 保存命令冷却时间
【发布时间】:2020-05-30 17:44:35
【问题描述】:

我知道这里有一个关于这个的问题,但重写似乎改变了client.commands.items()。该命令不再存在,似乎被client.commands 取代,它返回一个包含所有机器人命令的集合。 This answer 有旧的做法,但我不知道如何正确地将数据从集合中取出。集合仅返回 pop'd 项目,我似乎无法轻松确定哪些东西正在 pop'd 以及如何使用适当的冷却时间将它们重新添加回命令列表。我要么解决这个错误,要么有另一种方法来处理这种事情。

我想我的问题是,我如何轻松地从client.commands 返回的集合中获取信息,并且只为该集合中的每个命令配置冷却时间?

【问题讨论】:

  • 看起来client.all_commands 是一个字典,所以你可以尝试使用它作为替代品。顺便说一句,您可以尝试遍历 client.commands 并就地修改元素而不修改集合。

标签: python discord discord.py discord.py-rewrite


【解决方案1】:

例子:

@client.command()
@commands.cooldown(1, 60*60*24, commands.BucketType.user)
async def daily(ctx):
    YOUR_CODE

冷却时间:

@commands.cooldown(1, time(in seconds), commands.BucketType.user)

【讨论】:

  • 您好!我想知道你能否解释一下你在哪里找到了_save() 的东西。我在 discord.py 源代码或文档中的任何地方都找不到它。我只是对它的工作原理以及将冷却数据保存到哪里有几个问题。谢谢!
  • 您好! _save() 是一个本地定义的命令,与冷却时间没有任何关系。我已经对代码进行了一些编辑以使其清楚。冷却时间不会保存在任何文件中的任何位置,只需将冷却时间行添加到您的代码中以帮助您。谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-12-09
  • 2021-05-13
  • 2021-03-11
  • 1970-01-01
  • 2021-04-06
  • 1970-01-01
  • 2021-03-30
  • 2021-05-15
相关资源
最近更新 更多