Telegram 的 tdata 和 session 是什么:区别与用法
这两个词几乎只在买卖成品账号的场景里出现,官方文档里找不到对应的「产品名」。先把最容易搞错的一点说清楚:tdata 和 session 都不是账号密码,而是「已经登录好的那把钥匙」。拿到它们,你是接手一个别人登好的会话,而不是用账号密码重新登一次。
先分清:凭证和账号是两回事
Telegram 的登录机制是手机号加一次性验证码,登录成功之后,客户端会在本地保存一份授权凭证,之后每次打开都用这份凭证,不用再收码。
tdata 和 session,就是这份本地凭证被单独拿出来的样子。所以它们有两个共同特点:
- 不需要验证码。凭证本身就代表「已登录」,这也是它们值钱的地方——跳过了最容易卡住的接码环节。
- 随时可能失效。凭证对应的是一个会话,账号的持有者在「设备」列表里点一下「终止其他会话」,它立刻作废。
tdata 是什么
tdata 是 Telegram Desktop(官方桌面客户端)存放本地数据的那个文件夹。账号的会话授权、本地缓存、设置都在里面。把整个 tdata 文件夹搬到另一台电脑的对应位置,打开客户端就是已登录状态。
它在哪
| 安装方式 | tdata 位置 |
|---|---|
| Windows 安装版 | %AppData%\Telegram Desktop\tdata |
| Windows 便携版 | 和 Telegram.exe 同一层目录下的 tdata |
| macOS / Linux | 路径不同,且目录结构与 Windows 版不完全一致,跨系统搬运经常失败 |
实际流通的 tdata 绝大多数是 Windows 版产出的,所以最稳的用法就是在 Windows 上用官方桌面客户端接手,最好用便携版——目录自带,不用去翻系统隐藏文件夹,多开也方便。
怎么用
- 完全退出 Telegram Desktop。不是关窗口,是右下角托盘图标里退出。客户端还在跑的时候替换 tdata,几乎一定会坏。
- 备份原来的 tdata。把现有目录改个名留着,出问题能退回去。
- 把拿到的 tdata 整个放进去。是整个文件夹,不是把里面的文件散着倒进去。
- 启动客户端。正常的话直接进到已登录界面。
打不开时,按这个顺序查
| 现象 | 多半是什么原因 | 怎么办 |
|---|---|---|
| 启动后是登录界面,要求填手机号 | tdata 没放对位置,客户端读的是空目录 | 确认目录层级:应该是 ...\Telegram Desktop\tdata\,而不是 tdata\tdata\ |
| 要求输入本地密码 | 原持有者给客户端设过 local passcode | 这个密码必须由卖方提供,你猜不出来,找对方要 |
| 启动即崩溃或卡住 | 客户端版本和 tdata 格式对不上 | 换官方客户端的其他版本试,优先试较新的正式版 |
| 能进但很快被踢出 | 会话已经被终止,或同一份 tdata 在别处同时在跑 | 确认没有第二台机器挂着同一份;被终止的只能找卖方 |
| 提示需要两步验证密码 | 账号开了两步验证,新环境触发了校验 | 这个密码同样只能由卖方提供 |
session 是什么
session 通常指 .session 文件,是 Telethon、Pyrogram 这类第三方 MTProto 库保存会话的方式。文件本体是个小型数据库,里面存的同样是授权凭证。
它和 tdata 的根本区别在用途:tdata 是给人用的(桌面客户端),session 是给程序用的(脚本、机器人、批量工具)。
用 session 还有两个 tdata 没有的前提:
- 要有 api_id 和 api_hash。这是 Telegram 给开发者的应用凭据,和账号本身是两回事。卖方通常会跟 session 一起给,如果没给,用自己申请的也能跑,但更容易触发风控。
- 库和版本要对得上。Telethon 的 session 和 Pyrogram 的 session 格式不通用,直接换库读会报错;同一个库跨大版本也可能读不了。拿到时最好问清楚是哪个库生成的。
两者对照
| 对比项 | tdata | session |
|---|---|---|
| 形态 | 一个文件夹 | 一个 .session 文件 |
| 给谁用 | Telegram Desktop 官方客户端 | Telethon / Pyrogram 等程序库 |
| 额外需要什么 | 可能需要本地密码 | 需要 api_id / api_hash,且要对上库和版本 |
| 上手难度 | 低,会复制粘贴就行 | 高,要会跑代码 |
| 适合谁 | 日常聊天、人工操作 | 自动化、批量处理 |
| 能不能互转 | 有第三方工具声称可以互转,但成功率不稳定,且转换过程要把凭证交给工具。能直接拿到需要的那种,就不要绕。 | |
选哪个其实取决于你要做什么:只是要一个能正常聊天收发消息的账号,拿 tdata;要写程序批量操作,才需要 session。搞反了会很痛苦——拿到 session 却不会跑代码,等于拿到一把打不开门的钥匙。
拿到之后,先做三件事
不管是 tdata 还是 session,接手之后的头几分钟决定了这个账号能在你手里活多久。
1. 看一眼「已登录设备」
在客户端的设置里找到设备(活动会话)列表,看看除了你之外还有几个会话在线。如果还挂着别人的,说明这个账号目前不止你一个人能进。
要不要终止其他会话,是个取舍:终止了,别人进不来,你独占;但如果卖方那边还有后续的售后流程(比如要帮你处理两步验证),终止之后他也进不来了。确认账号能正常用、该要的密码都要到手之后,再终止。
2. 设置或更换两步验证密码
两步验证密码是账号真正的所有权凭据——有了它,别人就算拿到验证码也登不进来。把它换成你自己的,账号才算握在手里。
要注意的是:更改两步验证密码不会自动把其他会话踢下线。这两件事是分开的,想独占就得两件都做。
3. 别在两个地方同时挂同一份凭证
同一份 tdata 复制两份、在两台机器上同时启动,是很常见的翻车方式。两个客户端会互相覆盖本地状态,轻则数据错乱,重则会话直接失效。
什么情况下会突然掉线
| 触发条件 | 说明 |
|---|---|
| 有人点了「终止其他会话」 | 最常见。凭证立刻作废,无法恢复 |
| 同一份凭证在多处同时运行 | 状态互相冲突,容易被判定异常 |
| 短时间内换了很多次网络出口 | 频繁异地登录是典型的风控信号 |
| 接手后立刻开始大量操作 | 新会话一上来就群发、批量加人,很容易被限制 |
| 账号本身被举报或封禁 | 和凭证无关,账号层面的问题 |
前四条都是可以避免的。稳妥的做法是:接手后先安静用几天,固定一个网络出口,不要一上来就跑批量任务。
顺带一提:iPhone 上用不了 tdata
tdata 是桌面客户端的东西,iOS 上没有对应的接入方式。iPhone 用户想装 Telegram,得先解决另一个问题——国区 App Store 搜不到它,需要一个海外地区的 Apple 账号才能下载。这一步怎么解决,见美区 Apple ID 从哪儿买:四种渠道对比。
更多电报相关的内容,在电报账号使用指南里。
需要现成账号的话,桃子出海的 Telegram 账号分新号、老号、不同地区号段等版本,下单自动发货。
查看在售的 Telegram 账号 →