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

TelegramClient结合with与start()的用法是否合法?

关于Telethon中with结合start()传密码的用法确认

你的写法是完全可行的,原因如下:

  • start()方法的文档明确说明它会返回当前的TelegramClient实例,这意味着你可以直接将client.start(password=password)作为上下文管理器的对象传入with语句中
  • 你提供的代码能够正常运行,也验证了这种用法的有效性

官方文档示例中没出现这种写法,只是因为示例通常会采用更直观的分步写法(先初始化客户端、调用start、再使用),但这不代表这种链式结合上下文管理器的用法不被支持。

附上验证代码:

from telethon.sync import TelegramClient

api_id = 1111111111
api_hash = 1111111111
password = 1111111111

session = 'my_session'
client = TelegramClient(session, api_id, api_hash,
                        system_version="4.16.30-vxCUSTOM")

with client.start(password=password):
    client.run_until_disconnected()

内容的提问来源于stack exchange,提问作者liberal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:37:01