Python Telegram开发:点击消息按钮后如何停止代码运行?
Telethon点击按钮后终止程序实现方案
核心修改逻辑很简单:在完成按钮点击的逻辑后,主动调用Telegram客户端的断开连接方法即可,client.run_until_disconnected()监听到连接断开后会自动结束阻塞,整个程序随之终止。
修改后的完整代码
from telethon import TelegramClient, events # 此处替换为你自己的api_id、api_hash api_id = 109258102341 api_hash = 'k12iy5k2u43v51ui34' client = TelegramClient('waererfer', api_id, api_hash) @client.on(events.NewMessage(chats=('@username'))) # 替换为实际目标用户名 async def normal_handler(event): if event.message.button_count == 4: await event.message.click(0) # 点击完成后主动断开连接,终止程序 await client.disconnect() client.start() client.send_message('@username', 'Hello') client.run_until_disconnected()
可选补充
如果担心断开连接后仍有残留进程没有退出,可以引入sys模块主动终止进程,修改handler部分代码即可:
import sys from telethon import TelegramClient, events # ...其余代码和上方一致 @client.on(events.NewMessage(chats=('@username'))) async def normal_handler(event): if event.message.button_count == 4: await event.message.click(0) await client.disconnect() sys.exit()
内容的提问来源于stack exchange,提问作者fgrd4035
相关产品推荐
相关产品推荐

