Telegram Business Premium机器人+n8n自动回复报错求助
Telegram商务账号自动回复机器人(n8n开发)问题排查
背景
2024年5月Telegram推出Telegram Business Premium功能,订阅该服务的商务账号可通过官方设置集成机器人实现私信自动回复。
已完成操作
- 通过BotFather创建Telegram机器人;
- 在Telegram商务设置中将机器人关联至商务账号;
- 在DigitalOcean Droplet上配置n8n(搭配nginx+Let’s Encrypt SSL,已生成HTTPS的webhook地址);
- 完成Telegram webhook设置,n8n可正常接收用户消息;
- 成功解析webhook payload,提取出business_connection_id、chat_id、消息ID与文本内容;
- 实现AI生成回复并传递至n8n的HTTP Request节点。
目标
实现用户私信的自动回复,且回复消息显示为来自商务账号而非机器人本身。
当前回复发送方式
使用n8n的HTTP Request节点,配置参数如下:
- Endpoint:
https://api.telegram.org/bot<MY_BOT_TOKEN>/sendMessage - Method:
POST - Body (JSON):
{ "chat_id": "<chat_id_from_webhook>", "business_connection_id": "<business_connection_id_from_webhook>", "text": "Test message" }
注:所有参数值均直接取自当前webhook的payload数据
遇到的问题
无论如何调整请求参数,Telegram API始终返回错误:
400 Bad Request: message text is empty
已排查项
- webhook工作正常,能正确接收并解析用户消息数据;
- text参数明确存在且非空,测试时使用固定文本"Test message"也报错;
- 尝试移除
business_connection_id参数,仅发送chat_id与text,仍报错; - 用户已主动与机器人发起对话,不存在未触发对话的情况;
- 分别通过n8n、curl、Postman发送请求,均得到相同的400错误;
- SSL证书有效,webhook地址可正常访问;
- 所有测试均为一对一私信场景,无群组对话测试。
疑问与求助
- 商务账号关联机器人实现自动回复,是否需要在Telegram端进行额外配置?
- Telegram商务机器人是否需要使用单独的API端点或token,还是可直接沿用标准Bot API?
- 明明text参数存在且内容非空,为何会触发“消息文本为空”的错误?
本人已尝试多种请求变体(仅传chat_id与text、更换文本格式、用curl/Postman直接请求等),但均无法解决问题。预期回复应显示为商务账号发送且无错误,实际却持续收到上述400错误。可提供请求/响应日志或截图,求排查方向与可能的配置缺失点。
内容的提问来源于stack exchange,提问作者nowhale
相关产品推荐
相关产品推荐

