Telegram 接入
Telegram 是 Hermes 网关最常用的接入平台,支持文字、语音消息、图片、文件传输以及群组使用。
前置条件
- 已安装并运行 Hermes
- 拥有 Telegram 账号
- 能够访问 Telegram(部分地区需要代理)
第一步:创建 Telegram Bot
在 Telegram 中搜索并打开 @BotFather
发送命令创建新 Bot:
/newbot按提示输入 Bot 名称(显示名)和用户名(必须以
bot结尾,如MyHermesBot)创建成功后,BotFather 会返回一个 Bot Token,格式如:
123456789:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx保存好这个 Token。
第二步:获取你的用户 ID
- 在 Telegram 中搜索 @userinfobot 并发送任意消息
- 它会返回你的用户 ID(一串数字,如
123456789) - 记录下来,用于配置授权用户
第三步:配置环境变量
编辑 ~/.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 群组中使用,配置方式如下:
将 Bot 添加到群组(在群组设置中邀请 Bot)
给 Bot 授予发送消息权限
获取群组 ID:
- 将 @userinfobot 也添加到群组
- 它会显示群组 ID(负数,如
-100123456789)
在群组中,用
@你的Bot名提及 Bot 来触发响应:@MyHermesBot 帮我总结一下今天的会议记录也可以配置 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 - 未在列表中的用户发送消息后会收到拒绝提示(或无响应)