【问题标题】:Discord.py - How do I make the bot wait for something and will still be able to catch up even though it has restarted?Discord.py - 我如何让机器人等待某些东西并且即使它已经重新启动仍然能够赶上?
【发布时间】:2021-03-02 08:20:06
【问题描述】:

所以标题可能令人困惑,所以让我澄清一下。目前,我正在研究一个允许版主阻止用户进入频道的命令。 (基本上会创建频道覆盖,因此他们再也看不到频道了)

这里唯一的问题是,由于我使用了 await asyncio.sleep(time) 之类的东西并重新启动了我的机器人,因此即使静音期结束,用户也不会恢复他们的权限。有没有办法将计时器或其他内容存储在单独的文件中,如文本文档,并使其不断检查(任务),直到时间与文档匹配,然后删除通道覆盖?

新的解决方案只需要让机器人在它重新上线时“赶上”它停止的地方,这样即使用户的静音期结束,用户也不必抱怨恢复烫发。

我也有这个以防版主想要使用扩展的静音长度:

time_convert = {"s": 1, "m": 60, "h": 3600, "d": 86400}

def convert(time):
    try:
        return int(time[:-1]) * time_convert[time[-1]]
    except:
        return time

任何提示或建议都会有很大帮助!

【问题讨论】:

    标签: python discord.py


    【解决方案1】:

    尝试计算此人被静音的时间并将其保存在文本文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 2021-08-10
      相关资源
      最近更新 更多