Telegram 触发器节点常见问题#
以下是 Telegram 触发器节点的一些常见错误和问题以及解决或故障排除的步骤。
Stuck waiting for trigger event 等待触发事件时卡住#
使用Execute step 执行步骤或Execute workflow 执行工作流程按钮测试 Telegram 触发器节点时,执行可能看起来卡住了,无法停止监听事件。如果发生这种情况,您可能需要退出工作流程并再次打开它以重置画布。
卡住监听事件通常由于 n8n 外部的网络配置问题而发生。具体来说,当您在反向代理后运行 n8n 而没有配置 websocket 代理时,通常会出现此行为。
要解决此问题,请检查您的反向代理配置(Nginx、Caddy、Apache HTTP Server、Traefik 等)以启用 websocket 支持。
Bad request: bad webhook: An HTTPS URL must be provided for webhook#
当您在反向代理后运行 n8n 并且实例的 webhook URL 存在问题时,会出现此错误。
在反向代理后运行 n8n 时,您必须配置 WEBHOOK_URL
环境变量为您的 n8n 实例运行的公共 URL。对于 Telegram,此 URL 必须使用 HTTPS。
要解决此问题,请在反向代理中配置 TLS/SSL 终端。之后,将您的 WEBHOOK_URL
环境变量更新为使用 HTTPS 地址。
Workflow only works in testing or production 工作流程仅在测试或生产中工作#
Telegram 每个应用只允许您注册一个 webhook。这意味着每次从使用测试 URL 切换到生产 URL(反之亦然)时,Telegram 都会覆盖已注册的 webhook URL。
如果您尝试测试在生产中也处于活动状态的工作流程,您可能会遇到此问题。Telegram 机器人只会将事件发送到两个 webhook URL 中的一个,因此另一个永远不会收到事件通知。
要解决此问题,您可以在测试时禁用工作流程或为测试和生产创建单独的 Telegram 机器人。
要为测试创建单独的 telegram 机器人,请重复您完成创建第一个机器人的过程。有关更多信息,请参考 Telegram 的机器人文档和 Telegram 机器人 API 参考。
要在测试时禁用工作流程,请尝试以下操作:
停止生产流量
此解决方法会暂时禁用您的生产工作流程进行测试。在停用期间,您的工作流程将不再接收生产流量。
- 转到您的工作流程页面。
- 在顶部面板中切换Active 活动开关以暂时禁用工作流程。
- 使用测试 webhook URL 测试您的工作流程。
- 完成测试后,切换Inactive 非活动开关以再次启用工作流程。生产 webhook URL 应该恢复工作。