如何获取Telethon UserBot的字符串会话?现有生成器均失效
手动生成Telethon字符串会话的方法
如果各类自动生成工具都失效,直接用Telethon官方提供的方式手动生成是最可靠的,步骤如下:
前提准备
- 先获取Telegram的API ID和API Hash:登录Telegram开发者平台,创建一个新应用(名称和描述可随意填写),创建完成后就能在应用详情页拿到这两个值。
- 确保已安装Telethon,若未安装,执行命令:
若已安装,建议更新到最新版本:pip install telethonpip install --upgrade telethon
生成会话字符串
- 创建一个Python脚本(比如
generate_session.py),填入以下代码,替换其中的API_ID和API_HASH为你自己的:from telethon import TelegramClient from telethon.sessions import StringSession API_ID = 123456 # 替换成你的API ID(数字) API_HASH = 'abcdef1234567890abcdef1234567890' # 替换成你的API Hash(字符串) with TelegramClient(StringSession(), API_ID, API_HASH) as client: print("你的字符串会话:") print(client.session.save()) - 运行脚本:
python generate_session.py - 按照提示输入你的手机号(必须带国际区号,比如中国大陆手机号填
+8613xxxxxxxxx),然后输入Telegram收到的验证码;如果账号开启了两步验证,还需要输入你的两步验证密码。 - 脚本执行完成后,终端会输出字符串会话,直接复制保存即可。
解决网络问题(国内用户适用)
如果因为网络原因无法连接Telegram,需要在脚本中添加代理配置,示例如下(以Socks5代理为例,根据自己的代理信息修改):
from telethon import TelegramClient from telethon.sessions import StringSession API_ID = 123456 API_HASH = 'abcdef1234567890abcdef1234567890' # Socks5代理配置 client = TelegramClient( StringSession(), API_ID, API_HASH, proxy=('socks5', '你的代理地址', 你的代理端口) ) with client: print("你的字符串会话:") print(client.session.save())
如果使用MTProxy,替换代理部分为:
from telethon import connection # MTProxy配置 client = TelegramClient( StringSession(), API_ID, API_HASH, proxy=('你的MTProxy地址', 端口, 'MTProxy密钥'), connection=connection.ConnectionTcpMTProxyRandomizedIntermediate )
内容的提问来源于stack exchange,提问作者Diazman
相关产品推荐
相关产品推荐

