对于追求极致效率的Telegram重度用户来说,鼠标点击固然简单,但命令行工具往往能带来更高的可控性与自动化空间。telegram-cli作为一款基于Telegram官方MTProto协议的第三方命令行客户端,允许你在终端中直接收发消息、管理群组、甚至编写脚本实现无人值守操作。本文将带你从零开始,完成telegram-cli的安装、登录、命令掌握与自动化实战,让你在指尖下体验纯粹的命令行快感。
什么是telegram-cli?
telegram-cli是由vysheng开发的开源命令行客户端,使用C语言编写,通过Telegram的MTProto API与服务器通信。它不像官方桌面客户端那样需要图形界面,而是将所有功能封装为文本命令,非常适合服务器环境、远程管理或自动化脚本调用。与官方Bot API不同,telegram-cli直接操作你的账号身份,因此可以发送消息、管理群组、查看联系人等,功能更接近完整客户端。
安装telegram-cli:三步走
1. 安装编译依赖
telegram-cli需要从源码编译,首先确保系统具备以下工具和库:
# Debian/Ubuntu
sudo apt-get install build-essential libssl-dev libevent-dev libgcrypt-dev libz-dev libreadline-dev
# CentOS/RHEL
sudo yum groupinstall "Development Tools"
sudo yum install openssl-devel libevent-devel libgcrypt-devel zlib-devel readline-devel
2. 获取源码并编译
git clone https://github.com/vysheng/tg.git
cd tg
./configure
make
编译完成后,会在tg目录下生成可执行文件bin/telegram-cli。如果需要启用图片和视频处理,可额外安装libjpeg和libpng依赖。
3. 快速启动与登录
./bin/telegram-cli -k tg-server.pub
-k选项指定服务器公钥文件,首次运行会要求输入你的手机号并接收验证码。验证通过后就会进入交互式提示符telegram>。为方便后续脚本调用,建议先用以下命令保存会话密钥:
./bin/telegram-cli -k tg-server.pub -W -q
参数-W关闭watch模式,-q静默输出,脚本调用时会更加干净。
常用命令速查:从发消息到群管理
telegram-cli的交互命令很多,以下是最核心的几个:
- 发送消息:
msg 用户名/手机号/ID 文本。例如msg 123456789 hello - 发送文件:
send_file 用户ID 本地路径,支持图片、文档等 - 读取消息:
history 会话ID 数量,例如history me 30查看最近30条消息 - 创建群组:
chat_add_user 群组ID 用户ID或create_group 名称 用户列表 - 获取对话列表:
dialog_list打印所有会话 - 导出对话列表:
export_chat_link 对话ID生成邀请链接
在交互模式下输入help可以查看所有命令。这些命令配合管道、循环和后台任务,足以玩出很多花样。
自动化脚本:让Telegram自己动起来
1. 发送每日报告
编写一个Shell脚本,将系统信息或日志发送到指定用户:
#!/bin/bash
screenshot=$(echo "今日流量报告" | mail -s)
/opt/tg/bin/telegram-cli -k /opt/tg/tg-server.pub -W -e "msg 123456789 $screenshot"
使用-e参数可直接执行命令,无需进入交互模式。配合cron定时任务,每天定时发送,轻松实现无人值守。
2. 接收消息并自动回复
telegram-cli可以通过--watch模式监控新消息,配合管道将消息输出到Python脚本处理,然后回发。以下是一个简单的监听示例:
./bin/telegram-cli -k tg-server.pub -W -v | while read line; do
echo "收到: $line"
# 调用Python脚本解析并回复
python3 reply.py "$line"
done
3. 批量管理群组成员
通过chat_list_members获取成员列表,再用chat_add_user和chat_del_user实现批量操作,非常适合清洗群成员或同步用户数据。
安全与注意事项
telegram-cli属于非官方工具,使用时需注意:
- 你的账号密码和令牌存储在本地,务必设置好文件权限,避免泄露。
- 频繁的自动化操作可能触发Telegram风控,导致临时封禁,应合理控制频率。
- 不要在不可信服务器上安装,避免账号被盗。
- telegram-cli项目已停止维护,但仍可正常运行;若遇兼容性问题,可以参考社区fork版本。
总结
telegram-cli为高级用户打开了一扇通往命令行世界的大门,从简单的消息发送到复杂的自动化脚本,他都能胜任。通过本文的介绍,你应该已经掌握了安装和基础用法,并懂得如何将它嵌入到自己的工具箱中。在充分理解风险的前提下,telegram-cli会是你管理Telegram的得力助手,为你的工作效率带来质的飞跃。