Skip to content

Telegram 接入

Telegram 是 Hermes 网关最常用的接入平台,支持文字、语音消息、图片、文件传输以及群组使用。


前置条件

  • 已安装并运行 Hermes
  • 拥有 Telegram 账号
  • 能够访问 Telegram(部分地区需要代理)

第一步:创建 Telegram Bot

  1. 在 Telegram 中搜索并打开 @BotFather

  2. 发送命令创建新 Bot:

    /newbot
  3. 按提示输入 Bot 名称(显示名)和用户名(必须以 bot 结尾,如 MyHermesBot

  4. 创建成功后,BotFather 会返回一个 Bot Token,格式如:

    123456789:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    保存好这个 Token。


第二步:获取你的用户 ID

  1. 在 Telegram 中搜索 @userinfobot 并发送任意消息
  2. 它会返回你的用户 ID(一串数字,如 123456789
  3. 记录下来,用于配置授权用户

第三步:配置环境变量

编辑 ~/.hermes/.env,添加以下配置:

bash
# Telegram Bot Token(从 BotFather 获取)
TELEGRAM_BOT_TOKEN=123456789:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# 允许使用的用户 ID(多个用逗号分隔)
TELEGRAM_ALLOWED_USERS=123456789,987654321

第四步:运行配置向导

bash
hermes gateway setup

在平台列表中选择 Telegram,向导会自动读取 .env 中的配置并完成初始化。


第五步:启动网关

bash
hermes gateway start

启动成功后,在 Telegram 中向你的 Bot 发送消息即可开始使用。


支持的功能

功能说明
文字消息完全支持,支持 Markdown 格式回复
语音消息发送语音消息后自动转录为文字处理
图片支持发送图片供 Agent 分析(需使用支持视觉的模型)
文件支持发送文档、代码文件等附件
内联命令支持 /new/reset/model/help 等聊天命令
长消息超过 Telegram 限制的回复自动分段发送
代码块回复中的代码自动使用等宽字体格式化

群组支持

Hermes 支持在 Telegram 群组中使用,配置方式如下:

  1. 将 Bot 添加到群组(在群组设置中邀请 Bot)

  2. 给 Bot 授予发送消息权限

  3. 获取群组 ID:

    • @userinfobot 也添加到群组
    • 它会显示群组 ID(负数,如 -100123456789
  4. 在群组中,用 @你的Bot名 提及 Bot 来触发响应:

    @MyHermesBot 帮我总结一下今天的会议记录
  5. 也可以配置 Bot 响应所有群组消息(在 BotFather 中关闭 Privacy Mode):

    /setprivacy -> 选择你的 Bot -> Disable

Bot 推荐设置

在 BotFather 中完善 Bot 信息,提升使用体验:

# 设置命令列表(用户输入 / 时显示提示)
/setcommands
new - 开始新对话
reset - 重置会话
model - 切换模型
help - 显示帮助

# 设置描述
/setdescription
由 Hermes Agent 驱动的个人 AI 助手

# 允许加入群组
/setjoingroups -> Enable

常见问题

Bot 没有响应?

  • 检查 TELEGRAM_BOT_TOKEN 是否正确
  • 确认你的用户 ID 在 TELEGRAM_ALLOWED_USERS
  • 运行 hermes gateway status 查看网关是否正常运行
  • 运行 hermes doctor 诊断问题

消息发送失败?

  • 确认网络能够访问 api.telegram.org
  • 检查 Bot 是否被封禁(向 BotFather 发送 /mybots 查看状态)

如何限制只有特定用户能用?

  • TELEGRAM_ALLOWED_USERS 中只填写允许的用户 ID
  • 未在列表中的用户发送消息后会收到拒绝提示(或无响应)

基于 MIT 许可发布 | 由 Nous Research 开发