接入 Telegram 机器人
如何在 Buda 中通过长轮询配置和连接 Telegram 机器人,实现双向 AI 对话。
接入 Telegram 机器人
Buda 通过长轮询(long-polling)连接 Telegram,机器人主动从 Telegram 服务器拉取消息更新。这意味着您无需配置任何公网 HTTPS 地址或 Webhook URL,只需提供一个 Bot Token,Buda 就会在后台自动维持连接。
步骤 1:通过 BotFather 创建机器人
- 打开 Telegram,搜索 @BotFather 或直接点击链接。
- 发送命令
/newbot。 - 按提示操作:输入显示名称(例如:
Buda Assistant),再输入以bot结尾的用户名(例如:buda_assistant_bot)。 - BotFather 会回复您的 Bot Token,格式类似
1234567890:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。 - 复制并妥善保存此 Token — 稍后需要填入 Buda 中。
步骤 2:(可选)配置机器人设置
您可以通过 BotFather 进一步配置机器人:
/setdescription— 设置机器人资料页显示的描述/setcommands— 注册命令提示,建议配置如下:start - 开始或恢复当前会话 help - 显示帮助信息 new - 开启新会话
步骤 3:在 Buda 中配置通道
- 打开 Buda 的频道设置(Channels)(设置 → Channels)。
- 点击添加频道,提供商选择 Telegram。
- 粘贴从 BotFather 复制的 Bot Token。
- 可选填写标签并选择目标 Agent。
- 点击连接。
保存成功后,Buda 会立即在后台开始轮询 Telegram 的新消息。服务器日志中会出现:
[telegram-bot] Connected polling gateway for channel <id>步骤 4:开始使用
- 私聊:在 Telegram 中搜索您的机器人用户名,直接发送任意消息即可。
- 群组:将机器人添加到群组后,
@提及它并发送消息(例如:@buda_assistant_bot 今天天气怎么样?)。
可用命令:
| 命令 | 说明 |
|---|---|
/start 或 /help | 显示欢迎消息和使用说明 |
/new | 开启新会话(清除对话上下文) |
/new <消息> | 开启新会话并立即发送消息 |
注意事项
- 无需 HTTPS:与 Webhook 模式不同,长轮询在本地开发环境中无需 ngrok 或公网地址即可正常使用。
- 发送者白名单:可在通道凭证中设置
allowedSenderIds(逗号分隔的数字 ID),限制只有指定 Telegram 用户才能与机器人交互。 - 群组模式:在群聊中,机器人只响应直接
@提及它的消息;私聊中所有消息均会被处理。 - 自动重连:网络断开后,Buda 会以指数退避策略自动重试连接。