电报协议号sessionjson怎么登录怎么用
如果您购买了一个 Telegram 帐号,并且卖家提供了一个手机号+ session+json 文件,没有 tdata 目录文件,通常这种 session+json 文件会包含登录所需的会话数据,比 tdata 登录稍加复杂,懂技术可能更容易操作
TG稳
如果您不慎购买了这种 Telegram 的协议号,没有tdata 目录,那该怎么登录?可按下面步骤进行登录。
目录名称:电报登录手机号
.json 结尾的文件:包含账号的相关信息
.session 结尾的文件:Telegram 客户端的会话文件

下面是Telegram 协议号怎么登录?session+json怎么用?的具体操作步骤
有了 .session 文件,登录就相对容易了。这里会用到 python Telethon 库, 可以直接使用 .session 文件来登录,通常需要先安装电脑上安装 python 环境。
1、电脑上安装 python3
win/mac/linux 系统 都可以安装 python3 最新版本,python3 下载安装地址:点击前往
win 系统,安装 python3时勾选 Add Python x to PATH (自动添加环境变量),如下图所示,如果不勾选,会找不到 python3 ,就要手动配置环境变量,比较麻烦,可自行谷歌,这里就不追溯了。

2、安装所需的 Telethon库:
执行下面命令安装 telethon
pip3 install telethon
win11 为例,搜索 cmd,双击打开

输入 pip3 install telethon 回车,我这里已经安装过了

3、新增 telegram_login.py 的文件(.py结尾)
文件放到跟 json 和 session 结尾的文件同级的目录中。注意:下方脚本不需要做任何修改就可以用,但一定要安装 telethon
import re import asyncio import os import json import glob from telethon import TelegramClient, events from telethon.network import connection # 获取当前目录下的所有JSON文件列表 json_files = glob.glob("*.json") if len(json_files) == 0: raise FileNotFoundError("当前目录下未找到任何 .json 文件。") elif len(json_files) > 1: raise ValueError("当前目录下存在多个 .json 文件,无法自动选择。请保留唯一的 .json 文件或手动指定。") json_filename = json_files[0] with open(json_filename, "r", encoding="utf-8") as f: data = json.load(f) api_id = data["app_id"] api_hash = data["app_hash"] session_name = os.path.splitext(json_filename)[0] # 如果需要代理(例如在无法直接访问Telegram的地区),请在此处配置您的代理 # proxy = (connection.ConnectionTcpFull, '127.0.0.1', 1080) # client = TelegramClient(session_name, api_id, api_hash, proxy=proxy) client = TelegramClient(session_name, api_id, api_hash) @client.on(events.NewMessage(from_users=777000)) # 777000为Telegram官方通知bot的ID async def handler(event): # 来自官方777000的新消息事件监听 print("Received a message event from 777000") message_text = event.message.text print("Message text:", message_text) # 尝试从消息文本中提取5或6位数字的验证码 match = re.search(r"b(d{5,6})b", message_text) if match: code = match.group(1) print("Verification code is:", code) async def check_past_messages(): # 主动获取 777000 最近10条消息,看是否有遗漏的验证码消息 messages = await client.get_messages(777000, limit=10) for msg in messages: #print("Past message:", msg.text) # 尝试匹配验证码 match = re.search(r"b(d{5,6})b", msg.text) if match: code = match.group(1) async def main(): me = await client.get_me() print("Logged in as:", me.first_name, me.last_name, me.username) with client: client.loop.run_until_complete(main()) # 保持客户端在线,等待和监听来自777000的消息事件 client.run_until_disconnected()
import re import asyncio import os import json import glob from telethon import TelegramClient, events from telethon.network import connection # 获取当前目录下的所有JSON文件列表 json_files = glob.glob("*.json") if len(json_files) == 0: raise FileNotFoundError("当前目录下未找到任何 .json 文件。") elif len(json_files) > 1: raise ValueError("当前目录下存在多个 .json 文件,无法自动选择。请保留唯一的 .json 文件或手动指定。") json_filename = json_files[0] with open(json_filename, "r", encoding="utf-8") as f: data = json.load(f) api_id = data["app_id"] api_hash = data["app_hash"] session_name = os.path.splitext(json_filename)[0] # 如果需要代理(例如在无法直接访问Telegram的地区),请在此处配置您的代理 # proxy = (connection.ConnectionTcpFull, '127.0.0.1', 1080) # client = TelegramClient(session_name, api_id, api_hash, proxy=proxy) client = TelegramClient(session_name, api_id, api_hash) @client.on(events.NewMessage(from_users=777000)) # 777000为Telegram官方通知bot的ID async def handler(event): # 来自官方777000的新消息事件监听 print("Received a message event from 777000") message_text = event.message.text print("Message text:", message_text) # 尝试从消息文本中提取5或6位数字的验证码 match = re.search(r"b(d{5,6})b", message_text) if match: code = match.group(1) print("Verification code is:", code) async def check_past_messages(): # 主动获取 777000 最近10条消息,看是否有遗漏的验证码消息 messages = await client.get_messages(777000, limit=10) for msg in messages: #print("Past message:", msg.text) # 尝试匹配验证码 match = re.search(r"b(d{5,6})b", msg.text) if match: code = match.group(1) async def main(): me = await client.get_me() print("Logged in as:", me.first_name, me.last_name, me.username) with client: client.loop.run_until_complete(main()) # 保持客户端在线,等待和监听来自777000的消息事件 client.run_until_disconnected()
import re
import asyncio
import os
import json
import glob
from telethon import TelegramClient, events
from telethon.network import connection
# 获取当前目录下的所有JSON文件列表
json_files = glob. glob ( "*.json" )
if len ( json_files ) == 0 :
raise FileNotFoundError ( "当前目录下未找到任何 .json 文件。" )
elif len ( json_files ) > 1 :
raise ValueError ( "当前目录下存在多个 .json 文件,无法自动选择。请保留唯一的 .json 文件或手动指定。" )
json_filename = json_files [ 0 ]
with open ( json_filename, "r" , encoding= "utf-8" ) as f:
data = json. load ( f )
api_id = data [ "app_id" ]
api_hash = data [ "app_hash" ]
session_name = os.path. splitext ( json_filename )[ 0 ]
# 如果需要代理(例如在无法直接访问Telegram的地区),请在此处配置您的代理
# proxy = (connection.ConnectionTcpFull, '127.0.0.1', 1080)
# client = TelegramClient(session_name, api_id, api_hash, proxy=proxy)
client = TelegramClient ( session_name, api_id, api_hash )
@client. on ( events. NewMessage ( from_users= 777000 )) # 777000为Telegram官方通知bot的ID
async def handler ( event ) :
# 来自官方777000的新消息事件监听
print ( "Received a message event from 777000" )
message_text = event.message.text
print ( "Message text:" , message_text )
# 尝试从消息文本中提取5或6位数字的验证码
match = re. search ( r "b(d{5,6})b" , message_text )
if match:
code = match. group ( 1 )
print ( "Verification code is:" , code )
async def check_past_messages () :
# 主动获取 777000 最近10条消息,看是否有遗漏的验证码消息
messages = await client. get_messages ( 777000 , limit= 10 )
for msg in messages:
#print("Past message:", msg.text)
# 尝试匹配验证码
match = re. search ( r "b(d{5,6})b" , msg.text )
if match:
code = match. group ( 1 )
async def main () :
me = await client. get_me ()
print ( "Logged in as:" , me.first_name, me.last_name, me.username )
with client:
client.loop. run_until_complete ( main ())
# 保持客户端在线,等待和监听来自777000的消息事件
client. run_until_disconnected ()
4、win双击 telegram_login.py 脚本
注意:mac/linux 执行 python3 telegram_login.py

打开之后,正常情况下会显示登录后的姓名,如果出现 Attempt 1 at connecting failed: TimeoutError 错误信息,此时 clash 代理软件就要打开 TUN 模式或高级模式,重新执行脚本即可,或者在终端执行下面命令
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
注意:有可能你的代理软件端口不是 7890,请替换为你的。
5、登录 telegram
选择底部的 Or log in using you phone number ->输入手机号登录 -下一步

6、查看验证码
如下图所示:python3 脚本成功获取到了验证码。(亲测手机端和电脑客户端登录都能获取到验证码)

⚠️注意:
经过大量使用测试,有时候电脑端和手机端登录,提示验证码已经发送到已登录设备,但python 脚本始终无法收到验证,在安卓手机telegram X 上登录,却收到了验证码,登录成功后,查看 telegram 官方发来的验证码,发现前面电脑端和手机端登录,压根就没发送验证码,这不是 python 脚本的问题,可能是某些原因,没有成功触发发送验证码操作。
7、电报登录成功

8、登录成功后一定要开启两步验证密码,并绑定恢复邮箱(安全设置)
为了telegram帐号安全,强烈建议开启两步验证密码
为了您的帐号安全,请及时设置两步验证密码,该密码只会在新登录Telegram 时被要求输入,不会带来任何麻烦,否则您的帐户可能有风险被盗用。
9、在设置-设备中,终止掉不是你的会话(安全设置)
如果遇到报错,For security reasons, you can’t terminate older sessions from a device that you’ve just connected. Please use an earlier connection or wait for a few hours.
这是 Telegram 内部的安全策略。您收到的提示信息表示,因为您当前尝试终止其他会话的这个设备(或这次连接)是刚刚登录不久的,所以出于安全考虑,Telegram 不允许您立即从这个新会话终止较早的会话。
解决办法: 等待一段时间 :通常是几小时后。当您的本次连接(设备)不再被视为“刚刚连接”,Telegram 就会允许您终止其他会话。
版权声明:
作者:小火箭shadowrocket
链接:https://www.shadowrocket888.org/856.html
来源:小火箭官网
文章版权归作者所有,未经允许请勿转载。


共有 0 条评论