Telegram 节点常见问题#
以下是 Telegram 节点 的一些常见错误和问题以及解决或排除故障的步骤。
将机器人添加到 Telegram 频道#
要让机器人向频道发送消息,您必须将机器人添加到频道。如果您没有将机器人添加到频道,您将看到类似以下描述的错误:
Error: Forbidden: bot is not a participant of the channel
。
要将机器人添加到频道:
- 在 Telegram 应用中,访问目标频道并选择频道名称。
- 将频道名称标记为public channel 公共频道。
- 选择 Administrators 管理员 > Add Admin 添加管理员。
- 搜索机器人的用户名并选择它。
- 选择右上角的复选标记将机器人添加到频道。
获取聊天 ID#
您只能在公共频道上使用 @channelusername
。要与 Telegram 群组交互,您需要该群组的聊天 ID。
有三种获取该 ID 的方法:
- 从 Telegram 触发器:在您的工作流中使用 Telegram 触发器 节点来获取聊天 ID。此节点可以在不同事件上触发,并在成功执行时返回聊天 ID。
- 从您的 Web 浏览器:在 Web 浏览器中打开 Telegram 并打开群聊。群组的聊天 ID 是字母"g"后面的一系列数字。在 n8n 中输入群组聊天 ID 时,请在前面加上
-
。 - 邀请 Telegram 的 @RawDataBot 到群组:添加后,机器人会输出一个包含
chat
对象的 JSON 文件。该对象的id
就是群组聊天 ID。然后从您的群组中删除 RawDataBot。
每秒发送超过 30 条消息#
Telegram API 有每秒只能发送 30 条消息的限制。按照以下步骤发送超过 30 条消息:
- Loop Over Items 循环项目节点:使用 Loop Over Items 循环项目 节点从您的数据库中获取最多 30 个聊天 ID。
- Telegram 节点:将 Telegram 节点与 Loop Over Items 节点连接。使用Expression Editor 表达式编辑器从 Loop Over Items 节点中选择聊天 ID。
- Code 代码节点:将 Code 代码 节点与 Telegram 节点连接。使用 Code 节点等待几秒钟,然后获取下一批聊天 ID。将此节点与 Loop Over Items 节点连接。
您也可以使用此工作流。
从发送的消息中删除 n8n 署名#
如果您使用节点发送 Telegram 消息,消息会自动在末尾附加 n8n 署名:
This message was sent automatically with n8n
要删除此署名:
- 在节点的 Additional Fields 附加字段 部分,选择 Add Field 添加字段。
- 选择 Append n8n attribution 附加 n8n 署名。
- 关闭切换开关。
请参阅 Send Message 发送消息附加字段 了解更多信息。