Telegram命令行工具telegram-cli完全指南:从安装到自动化脚本

本文详细介绍Telegram命令行工具telegram-cli的安装、登录、常用命令与自动化脚本,让高级用户摆脱图形界面,直接通过终端高效管理Telegram账号、群组与频道。

阅读提示建议先浏览文章结构,再按需深入阅读具体段落。

对于追求极致效率的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 用户IDcreate_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_userchat_del_user实现批量操作,非常适合清洗群成员或同步用户数据。

安全与注意事项

telegram-cli属于非官方工具,使用时需注意:

  • 你的账号密码和令牌存储在本地,务必设置好文件权限,避免泄露。
  • 频繁的自动化操作可能触发Telegram风控,导致临时封禁,应合理控制频率。
  • 不要在不可信服务器上安装,避免账号被盗。
  • telegram-cli项目已停止维护,但仍可正常运行;若遇兼容性问题,可以参考社区fork版本。

总结

telegram-cli为高级用户打开了一扇通往命令行世界的大门,从简单的消息发送到复杂的自动化脚本,他都能胜任。通过本文的介绍,你应该已经掌握了安装和基础用法,并懂得如何将它嵌入到自己的工具箱中。在充分理解风险的前提下,telegram-cli会是你管理Telegram的得力助手,为你的工作效率带来质的飞跃。

FAQ

下载与安装

常见问题

telegram-cli是官方工具吗?

不是,telegram-cli是第三方开发者基于Telegram MTProto协议开发的命令行客户端,已被Telegram官方认可但未提供支持,需自行承担使用风险。

telegram-cli能发消息给频道吗?

可以,使用channel命令进入频道管理后,通过msg指令发送消息。但部分操作可能受权限限制,需要你是频道管理员。

如何退出telegram-cli交互模式?

在交互模式下输入quit或按Ctrl+C即可退出。后台运行时可通过kill进程结束。