Telegram

通过 Telegram 远程控制你的 CLI-JAW 代理。发送消息、接收回复、转发代理输出、使用 STT 处理语音消息,以及使用斜杠命令——一切尽在手机上完成。

设置

1. 使用 BotFather 创建机器人

  1. 在 Telegram 中打开 @BotFather
  2. 发送 /newbot 并按照提示操作
  3. 复制机器人令牌(格式类似 123456:ABC-DEF...

2. 配置 settings.json

{
  "telegram": {
    "token": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
    "allowedChatIds": [],
    "forwardAll": true
  }
}
初始时将 allowedChatIds 留空。向你的机器人发送 /id 获取你的聊天 ID,然后将其添加到数组中以确保安全。

3. 替代方式:使用 jaw init

jaw init --channel telegram --telegram-token "YOUR_TOKEN"

发送与接收

转发

forwardAll 设为 true 时,代理的 agent_done 结果会自动转发到你的 Telegram 聊天。来自 Telegram 的结果会被排除,以避免回声重复。

/forward on   # Enable forwarding
/forward off  # Disable forwarding

文件传输

代理可以通过 channel send API 向 Telegram 发送文件:

POST /api/telegram/send
POST /api/channel/send  # Unified endpoint (preferred)

文件会按照 20MB 的大小限制进行验证。Telegram 消息会按 4096 个字符进行分块,并转换为 Telegram HTML 格式。

群组聊天

在群组/超级群组聊天中,机器人仅在被 @botUsername 提及时才会回复。提及标记会在处理消息前自动去除。

可用命令

Telegram 中可见 27 个斜杠命令(与 Discord 相同)。机器人专属命令:

命令描述
/start欢迎消息
/id显示你的聊天 ID
/settings机器人设置(由机器人处理,非服务器)

环境变量

可通过环境变量覆盖设置:

TELEGRAM_TOKEN=123456:ABC-DEF...
TELEGRAM_ALLOWED_CHAT_IDS=12345,67890