首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在某个时候,机器人会写一些与背景任务不一致的聊天内容。

在某个时候,机器人会写一些与背景任务不一致的聊天内容。
EN

Stack Overflow用户
提问于 2022-06-24 08:57:50
回答 1查看 71关注 0票数 0

我想让机器人在一定的时间(大约10:00)在聊天中打招呼。问题是,"while“不是异步进程(如"asyncio.sleep")。有人能告诉我怎么做吗?

我尝试过这个(在“on_ready”之后写的):

代码语言:javascript
运行
复制
while cyclebb == 1: #"cyclebb" is an always active variable
    blt = f"{datetime.now().hour} : {datetime.now().minute} : {datetime.now().second}"
    if blt == '10 : 42 : 15':
        chn = client.get_channel(964837651108732979)
        await chn.send('Hi guys!!')
        await asyncio.sleep(2) #I put it to prevent spamming
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-24 09:29:42

您可以使用任务循环。https://discordpy.readthedocs.io/en/stable/ext/tasks/index.html?highlight=tasks%20loop#discord.ext.tasks.loop

看起来会是这样的。

代码语言:javascript
运行
复制
from discord.ext import tasks

async def on_ready():
     greet_task.start()
     

@tasks.loop(hours=24)
async def greet_task():
     ...stuff here
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72741496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档