当前位置: 首页 > 知识库问答 >
问题:

如何在discord.py中进行循环重写?

傅啸
2023-03-14

机器人必须每隔60秒做一件事。我尝试使用create_task,但它不起作用(bot启动了,但什么也没发生)。如何实现这一点?

共有1个答案

宋航
2023-03-14

< code > client . loop . create _ task 在< code>rewrite版本中仍然可以正常工作。< code>rewrite版本中的后台任务示例可在此处找到。

from discord.ext import commands
import asyncio

client = commands.Bot(command_prefix='!')


async def background_task():
    await client.wait_until_ready()
    counter = 0
    channel = client.get_channel(123456) # Insert channel ID here
    while not client.is_closed():
        counter += 1
        await channel.send(counter)
        await asyncio.sleep(10)

client.loop.create_task(background_task())
client.run('token')
 类似资料:
  • 问题内容: 如何在bash for循环中使用变量?如果我只是使用标准的for循环,它会达到我的期望 这很好。它循环遍历4次,包括0到3,包括打印我的消息并将计数放在末尾。 当我使用以下for循环尝试相同的操作时,它似乎等于一个字符串,这不是我想要的。 输出: 我试过了 和 他们俩都不做我所需要的。希望有人可以帮助我。预先感谢bash专家对for循环的帮助。 问题答案: 一种方法是使用: 请注意 设

  • 问题内容: 使用以下代码显示我的Twitter个人资料中的朋友列表。我想一次只加载一个特定的数字,例如20,然后在底部为第1-2-3-4-5页的页面提供分页链接(但是,除以限制) **更新**** 这项工作有效,只需要抵消从开始的输出即可。在想什么? 问题答案: 一个非常优雅的解决方案是使用:

  • 问题内容: 如果我在一个循环中有一个循环,并且一旦满足一条语句,我想中断主循环,那我应该怎么做? 这是我的代码: 问题答案: 使用标记的中断: 另请参阅 Java代码中的“循环:”。 这是什么,为什么会编译? 文献资料

  • 我有包含在DataFrame中的链接行。 我的逻辑如下

  • 我正试图通过Amazon Kinesis(每秒订购10000点)传输大量数据。 为了通过我的碎片最大化每秒的记录,我想在碎片上循环我的请求(我的应用程序逻辑不关心碎片的单个消息会传递到哪里)。 看起来我可以使用我发送到PutRecordsendpoint的列表中的消息的ExplichHashKey参数来执行此操作-但是Amazon留档实际上并没有描述如何使用ExplichHashKey,除了以下的

  • 我正在重写我的不和谐机器人以使用齿轮,当在我的“帮助”命令中编码时,它停止了编译。代码是: 它抛出的错误表示: 我没有发出帮助命令,我能做些什么来补救?