Discord Bot Python上on_message的冷却时间

时间:2020-07-29 04:12:59

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

@commands.Cog.listener()
async def on_message(self, message):
    if message.guild.id == 464298877823221761:
        if message.content.find("Hello There") != -1:
            await asyncio.sleep(0.5)
            await message.channel.send("General Kenobi")

我想为此设置30秒的冷却时间

整个嵌齿轮:https://hastebin.com/isuxokizum.py

1 个答案:

答案 0 :(得分:0)

我不知道您是代码的另一部分,所以我不知道您是否想要/需要/获得一些异步编程。 如果没有,您也可以尝试 * { box-sizing: border-box; } .show{display:block; } #myInput { background-image: url('/css/searchicon.png'); background-position: 10px 12px; background-repeat: no-repeat; width: 100%; font-size: 16px; padding: 12px 20px 12px 40px; border: 1px solid #ddd; margin-bottom: 12px; } #myUL { list-style-type: none; padding: 0; margin: 0; display:none; } #myUL li a { border: 1px solid #ddd; margin-top: -1px; /* Prevent double borders */ background-color: #f6f6f6; padding: 12px; text-decoration: none; font-size: 18px; color: black; display: block } #myUL li a:hover:not(.header) { background-color: #eee; }-它只会冻结代码的执行


    <input type="text" id="myInput" onkeyup="myFunction()" placeholder="search here..." title="Type in a name">
    <p id="Result">
    <ul id="myUL">
    <li><a class="even" target="_blank" href="#">element1</a></li>
    <li><a target="_blank" href="#">element2</a></li>
    <li><a class="even" target="_blank" href="#">element3</a></li>
    </ul>

...将代码执行冻结5秒钟。没事了 计算或执行直到睡眠功能完成5 第二次小睡,因为如果没有睡眠功能,应用程序将无法继续 将控制权返回给调用者。这称为同步 编程时,没有更改应用程序的机制 专注并在等待期间完成其他任务,例如 等待对数据库,Web API或的调用结果 这种情况下有睡眠功能。在同步编程中没有 需要事件循环,因为不会期望应用程序 管理时间,也不切换任务以提高效率。


mex FFLAGS='-fdefault-real-8 -ffixed-form -compatibleArrayDims' glmnetMex.F GLMnet.f

...是asyncio库的一部分,设计用于 用于异步编程,其中向事件循环分配了任务 竞争,它(事件循环)监视其所有状态 任务并从一个目标切换到另一个目标 最小化空闲/等待时间。这不是线程 同时执行多个进程的地方是 仅优化任务执行,以使CPU不处于空闲状态, 因此大大减少了总体执行时间。