You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:00:01