Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 多线程中的Telethon事件未按预期工作_Python 3.x_Python Asyncio_Telethon - Fatal编程技术网

Python 3.x 多线程中的Telethon事件未按预期工作

Python 3.x 多线程中的Telethon事件未按预期工作,python-3.x,python-asyncio,telethon,Python 3.x,Python Asyncio,Telethon,我想以多线程、多线程的方式运行Telethon事件 对于下面的代码,我期望的是多线程、并发的独立事件等待异步。睡眠(3)将睡眠3秒钟。因此,如果您通过电报向帐户发送任何文本,它将等待3秒钟并向我发送“嗨”。我希望如果我一次发送一条短信好几次,比如说5次,它应该等待大约3秒钟,然后立即向我发送“hi”,但不像等待3秒钟,发送“hi”,等待3秒钟,发送“hi”。。持续5次,大约需要15秒。这不是我所期望的 那么,如何修改代码以按预期运行代码呢?或者在电视马拉松比赛中是不可能的 我读过谷歌、stack

我想以多线程、多线程的方式运行Telethon事件

对于下面的代码,我期望的是多线程、并发的独立事件<代码>等待异步。睡眠(3)将睡眠3秒钟。因此,如果您通过电报向帐户发送任何文本,它将等待3秒钟并向我发送“嗨”。我希望如果我一次发送一条短信好几次,比如说5次,它应该等待大约3秒钟,然后立即向我发送“hi”,但不像等待3秒钟,发送“hi”,等待3秒钟,发送“hi”。。持续5次,大约需要15秒。这不是我所期望的

那么,如何修改代码以按预期运行代码呢?或者在电视马拉松比赛中是不可能的

我读过谷歌、stackoverflow、github的问题,但自己找不到解决方案。所以我需要你的帮助。多谢各位

导入时间
从pathlib导入路径
进口稀土
随机输入
导入异步
从telethon导入电报客户端,事件
从telethon.sessions导入StringSession
来自telethon import utils
导入日志记录
logging.basicConfig(级别=logging.ERROR)
api_id=“”
api_哈希=“”
电话=“”
字符串=路径('./string')。读取文本()
message=“你好。”
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
客户端=电报客户端(StringSession(string)、api\u id、api\u哈希、顺序更新=True)
@client.on(events.NewMessage(传入=True))
异步def句柄新消息(事件):
打印('message:',event.message.message)
#//此处不工作,睡眠会阻止下一个事件,而不仅仅是当前事件。
打印('等待3秒…')
等待asyncio.sleep(3)
等待事件。响应(消息)
打印('自动回复…')
客户端启动(电话)
client.run_直到_断开()
#client.loop.run_forever()
#string=StringSession.save(client.session)
#路径('./string')。写入文本(string)

您正在使用顺序更新,因此在第一次更新未完成之前,它不会移动到其他更新。我想你需要关闭顺序更新。

@TheKill-996你是说代码按预期工作?我的python版本是3.6.7,Telethon==1.18.2,告诉我,你的版本是什么?谢谢。FWIW Telethon不是多线程的,它只是默认情况下使用多个任务来处理更新。哦,天哪,答案已经在那里了。我不好,应该仔细阅读代码。你是救命恩人,谢谢。