在使用telethon时运行循环

2024-04-19 11:50:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个电报频道管理控制脚本,需要在循环中检查频道。我还需要一些消息处理程序来检查消息。以下是我代码的一部分:

async def main():
    while True:
        .... (some code)
        log=await client.get_admin_log(await client.get_entity(chat),limit=1)
        .... (some code here)
@client.on(telethon.events.NewMessage)
async def message_handler(m):
    .... (handle messages)
client.start()

如果我使用client.loop.run_直到_完成(main()),消息处理程序将无法工作,但main会完全运行。如果我使用client.run_直到_disconnected()并使用另一个线程在另一个循环中运行main,它会阻塞get_admin_log。现在我该怎么办? (当specefic消息到达时,我尝试在消息处理程序中运行main(当我运行它时,我手动发送它) 。它运行main,但不再处理消息)


Tags: runclientlog消息处理程序getasyncadmin