You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

每次调用命令后Telegram Bot Webhook丢失问题求助

Nutgram调用sendMessage后Webhook丢失的解决方案
  • 排查代码是否意外覆盖Webhook配置
    检查命令处理逻辑里有没有调用setWebhook或相关重置方法,确保Webhook只在初始化阶段设置,命令执行流程中不要重复修改或清空配置。

  • 验证Webhook的SSL证书有效性
    Telegram要求Webhook必须使用有效SSL证书(自签证书需特殊配置),证书过期或配置错误会导致Telegram自动移除Webhook。调用getWebhookInfo查看状态:

    $webhookInfo = $this->bot->getWebhookInfo();
    var_dump($webhookInfo);
    

    根据返回的last_error_message字段排查证书或连接问题。

  • 确保Webhook请求正常响应
    Nutgram的Webhook模式需要向Telegram返回200状态码,若命令处理中出现致命错误、超时或未正确响应,Telegram会判定Webhook无效并移除。在命令处理末尾添加日志确认请求完成状态,同时检查服务器日志是否存在5xx错误。

  • 避免Webhook请求中执行耗时操作
    如果sendMessage之后有大量耗时任务(如数据库批量操作、第三方API调用),会导致请求超时,Telegram重试失败后会取消Webhook。建议将耗时任务放入异步队列(如Laravel Queue),保证Webhook请求快速响应。

  • 重新设置Webhook时指定正确参数
    若Webhook已丢失,重新设置时确保参数准确,包括正确的URL和证书(如果使用自签证书):

    $this->bot->setWebhook([
        'url' => 'https://your-domain.com/webhook',
        // 'certificate' => '/path/to/certificate.pem' // 自签证书需添加此参数
    ]);
    

内容的提问来源于stack exchange,提问作者Voitsekhovsky Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 21:03:11