Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

tdl(Telegram Download Loader)是一个用 Go 语言编写的 Telegram 工具包,不仅限于下载,还支持上传、转发、导出等功能。它通过命令行界面操作,简单高效,适用于管理 Telegram 中的文件和消息。下面,我将基于官方文档和 GitHub 仓库的描述,详细介绍 tdl 的主要命令、子命令、选项及其使用示例。所有示例假设您已安装 tdl,并配置好环境(如代理或命名空间)。如果需要更新,请参考官方文档。

tdl 命令示例详细介绍
tdl(Telegram Download Loader)是一个用 Go 语言编写的 Telegram 工具包,不仅限于下载,还支持上传、转发、导出等功能。它通过命令行界面操作,简单高效,适用于管理 Telegram 中的文件和消息。下面,我将基于官方文档和 GitHub 仓库的描述,详细介绍 tdl 的主要命令、子命令、选项及其使用示例。所有示例假设您已安装 tdl,并配置好环境(如代理或命名空间)。如果需要更新,请参考官方文档。
全局选项
tdl 的许多命令共享一些全局选项,这些选项可以应用于大多数子命令,用于自定义行为:
--debug:启用调试模式,输出更多日志信息。--delay duration:每个任务之间的延迟时间,默认为零(无延迟)。-l, --limit int:并发任务的最大数量,默认为 2。-n, --ns string:Telegram 会话的命名空间,默认为 “default”。每个命名空间代表一个 Telegram 账户,例如-n iyear。--ntp string:NTP 服务器主机,如果未设置,则使用系统时间。--pool int:DC 池的大小,默认为 8,零表示无限。--proxy string:代理地址,格式为protocol://username:password@host:port,例如--proxy socks5://localhost:1080。--reconnect-timeout duration:Telegram 客户端重连超时,默认为 5m0s。--storage stringToString:存储选项,格式为type=driver,key1=value1,可用驱动:legacy、bolt、file。默认为path=/home/runner/.tdl/data,type=bolt。-t, --threads int:每个项传输的最大线程数,默认为 4。示例:使用代理和自定义命名空间运行命令:
tdl --proxy socks5://localhost:1080 -n iyear --debug [子命令]这些选项帮助优化性能和安全性,尤其在批量操作时。
登录命令:tdl login
登录是使用 tdl 的第一步,支持多种方式,包括从桌面客户端导入、QR 码或验证码。
选项
-d string:桌面客户端路径,例如/path/to/TelegramDesktop。-p string:如果客户端设置了本地密码,则提供密码。-T string:登录类型,支持qr(QR 码)或code(验证码)。示例
- 自动查找桌面客户端路径登录:
tdl login如果有密码:
tdl login -p YOUR_PASSCODE
- 使用 QR 码登录:
tdl login -T qr
- 使用验证码登录:
tdl login -T code
- 从指定路径导入桌面客户端会话:
tdl login -d /path/to/TelegramDesktop注意:确保客户端从官网下载,而非应用商店。账户信息存储在
~/.tdl目录中。下载命令:tdl dl 或 tdl download
下载是 tdl 的核心功能,支持从消息链接下载文件,即使是受保护的聊天。
选项
-d, --dir string:下载目录,默认为当前目录。--auto int:自动下载最近 N 条消息的文件。--excludes strings:排除指定文件扩展名。--filter string:文件类型过滤器。-i, --include strings:包含指定文件扩展名,例如-i mp4,mp3。--port int:HTTP 服务器端口,默认为 8080(用于服务模式)。--restart:直接重启上次下载。--rewrite-ext:根据文件头 MIME 重写扩展名。--serve:作为 HTTP 服务器服务媒体文件,而非下载。--skip-same:跳过同名(无扩展名)和大小的文件。--takeout:使用 takeout 会话,降低洪水等待限制。--template string:文件名模板,默认为{{ .DialogID }}_{{ .MessageID }}_{{ filenamify .FileName }}。-u, --url strings:Telegram 消息链接。示例
- 从指定消息链接下载:
tdl dl -u https://t.me/telegram/193
- 下载最近 10 条消息的文件到指定目录:
tdl download --auto 10 -d /path/to/download
- 使用过滤器下载特定类型文件,并重写扩展名:
tdl download -u https://t.me/channel/123 -i mp4,mp3 --rewrite-ext
- 作为服务器服务文件:
tdl download -u https://t.me/telegram/193 --serve --port 8080下载速度通常比官方客户端快,能充分利用带宽。
上传命令:tdl up 或 tdl upload
支持上传文件或目录到 Telegram,支持指定聊天或保存消息。
选项
-c, --chat string:聊天 ID 或域名,空表示“保存的消息”。-e, --excludes strings:排除指定扩展名,例如-e .so,.tmp。-p, --path strings:文件或目录路径。--photo:将图像作为照片上传,而非文件。--rm:上传后删除本地文件。示例
- 上传文件到保存的消息:
tdl up -p /path/to/file
- 上传目录到指定聊天,排除某些扩展名:
tdl upload -p /path/to/dir -c @iyear -e .so,.tmp
- 使用高线程和并发上传:
tdl up -p /path/to/file -p /path/to/dir -t 8 -l 4 -c 123456789
- 作为照片上传图像:
tdl upload -p /path/to/image.jpg --photo -c https://t.me/iyear聊天输入示例:
@iyear(用户名)、iyear(无@用户名)、123456789(ID)、https://t.me/iyear(链接)、+1 123456789(电话)。导出命令:tdl chat export
导出聊天消息、成员或订阅者到 JSON 文件。
选项
-c, --chat string:聊天输入,同上传命令。-i, --interval strings:范围,例如时间戳1665700000,1665761624或 ID100,500。-T, --type string:范围类型,time(默认)、id、last(最后 N 条)。-o, --output string:输出文件路径,默认为tdl-export.json。示例
- 导出所有消息:
tdl chat export -c @iyear
- 导出指定时间范围的消息:
tdl chat export -c 123456789 -i 1665700000,1665761624 -T time
- 导出消息 ID 范围:
tdl chat export -c https://t.me/iyear -i 100,500 -T id
- 导出最后 100 条媒体文件到自定义路径:
tdl chat export -c +1 123456789 -i 100 -T last -o /path/to/output.json空聊天表示“保存的消息”。
转发命令:tdl forward
转发消息,支持从链接或导出 JSON 文件转发到指定聊天。
选项
--from strings:来源,如消息链接或 JSON 文件。--to string:目标聊天或路由文件。示例
- 从多个消息转发到聊天:
tdl forward --from https://t.me/telegram/193 --from https://t.me/telegram/195 --to @iyear
- 从导出 JSON 转发:
tdl forward --from tdl-export.json --from tdl-export2.json --to 123456789
- 使用路由文件转发:
tdl forward --from tdl-export.json --to router.txttdl 会自动检测分组消息并作为相册转发。
其他命令和提示
tdl chat:聊天工具集,包括 export 等子命令。- 最佳实践:使用官方会话登录;避免过大线程;不要同时多设备登录;成为 Premium 用户以提升限额;日志存储在
~/.tdl/log。这些示例覆盖了 tdl 的主要功能。如果您需要特定场景的自定义,请查看完整文档或 GitHub 仓库。tdl 的设计强调低资源占用和高速传输,适合批量处理 Telegram 数据。

在这里,您可以了解学习、工作、娱乐、生活等方面的实用网络资讯。
Director, Huxunit