Telegram节点常见问题#
以下是Telegram节点常见错误和问题及其解决或排查步骤。
将机器人添加到Telegram频道#
要让机器人向频道发送消息,您必须先将该机器人添加到频道中。如果尚未将机器人添加至频道,您将看到类似以下描述的错误信息:
Error: Forbidden: bot is not a participant of the channel。
将机器人添加到频道:
- 在Telegram应用中,访问目标频道并选择频道名称。
- 将频道名称标记为公共频道。
- 选择管理员 > 添加管理员。
- 搜索机器人的用户名并选择它。
- 点击右上角的勾选标记将机器人添加到频道中。
获取聊天ID#
您只能在公开频道上使用@channelusername。要与Telegram群组互动,您需要该群组的聊天ID。
获取该ID有三种方式:
- 来自Telegram触发器:在工作流中使用Telegram Trigger节点获取聊天ID。该节点可响应不同事件触发,并在成功执行时返回聊天ID。
- 从您的网页浏览器:在网页浏览器中打开Telegram并进入群组聊天。群组的Chat ID是字母"g"后面的一串数字。在n8n中输入时,请在群组Chat ID前加上
-前缀。 - 邀请Telegram的@RawDataBot加入群组:添加后,该机器人会输出包含
chat对象的JSON文件。该对象的id即为群组Chat ID。获取ID后请将RawDataBot从群组中移除。
每秒发送超过30条消息#
Telegram API 有一个限制,每秒只能发送30条消息。按照以下步骤发送超过30条消息:
- Loop Over Items 节点: 使用 Loop Over Items 节点从数据库中获取最多30个聊天ID。
- Telegram节点: 将Telegram节点与循环遍历项节点连接。使用表达式编辑器从循环遍历项节点中选择聊天ID。
- 代码节点: 将代码节点与Telegram节点连接。使用代码节点在获取下一批聊天ID前等待几秒钟。将此节点与循环遍历项节点连接。
你也可以使用这个工作流。
移除发送消息中的n8n署名#
如果您使用该节点发送Telegram消息,消息末尾会自动附加n8n的署名:
此消息由n8n自动发送
要移除此署名:
- 在节点的附加字段部分,选择添加字段。
- 选择附加n8n归属声明。
- 关闭切换开关。
更多信息请参考发送消息附加字段。