Buda LogoBuda

接入 Telegram 机器人

如何在 Buda 中通过长轮询配置和连接 Telegram 机器人,实现双向 AI 对话。

接入 Telegram 机器人

Buda 通过长轮询(long-polling)连接 Telegram,机器人主动从 Telegram 服务器拉取消息更新。这意味着您无需配置任何公网 HTTPS 地址或 Webhook URL,只需提供一个 Bot Token,Buda 就会在后台自动维持连接。

步骤 1:通过 BotFather 创建机器人

  1. 打开 Telegram,搜索 @BotFather 或直接点击链接。
  2. 发送命令 /newbot
  3. 按提示操作:输入显示名称(例如:Buda Assistant),再输入以 bot 结尾的用户名(例如:buda_assistant_bot)。
  4. BotFather 会回复您的 Bot Token,格式类似 1234567890:AAFxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  5. 复制并妥善保存此 Token — 稍后需要填入 Buda 中。

步骤 2:(可选)配置机器人设置

您可以通过 BotFather 进一步配置机器人:

  • /setdescription — 设置机器人资料页显示的描述
  • /setcommands — 注册命令提示,建议配置如下:
    start - 开始或恢复当前会话
    help - 显示帮助信息
    new - 开启新会话

步骤 3:在 Buda 中配置通道

  1. 打开 Buda 的频道设置(Channels)(设置 → Channels)。
  2. 点击添加频道,提供商选择 Telegram
  3. 粘贴从 BotFather 复制的 Bot Token
  4. 可选填写标签并选择目标 Agent
  5. 点击连接

保存成功后,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 会以指数退避策略自动重试连接。

On this page