首页 文章

我设置了我的电报机器人webhook,但不发送电报 . 为什么?

提问于
浏览
0

我使用setwebhook方法设置了webhook我的电报机器人但是当我在机器人中发送消息时,不要在我的URL中使用它 .

https://api.telegram.org/bot<token>/setwebhook?url=https://www.example.com/bot/temp.php

在我的主机中,我使用PHP语言进行分析和回答 . 我用这个命令从bot获取更新 .

$update = file_get_contents(“php://input”);

但运行此行后$ update为空 . 我没有使用setwebhook机器人进行更新没有问题,当我使用webhook时不要采取数据 .

结果运行getWebhookinfo是:

{"ok":true,"result":{"url":"https://example.com/bot/temp.php","has_custom_certificate":false,"pending_update_count":0,"max_connections":40}}

我必须是真的“has_custom_cere”吗?谢谢你的帮助

4 回答

  • 1

    您可以通过以下方法找出问题:

    检查getWebhookInfo方法,确保您的webhook网址正确无,且没有 last_error_message 字段 .

    将类似数据发布到您的服务器,here是您可以在 curl -d JSON 中使用的一些数据,只需将其复制并在您自己的服务器上运行即可 .

    最后,检查您的CDN配置(如果您已在该服务器上应用),临时禁用泛滥或任何检查 .

  • 0

    Mohammad,我认为当电报向您发送请求时会发生PHP错误 . 以下代码应该可以正常获取Telegram请求 .

    $json = file_get_contents('php://input');
    $request = json_decode($json);
    

    我认为你的脚本在此代码之前停止 . 我建议你启用PHP调试模式并检查错误日志 .

  • 1

    /getwebhookinfo 方法的结果是什么,你可以在这里发布吗?请检查您的SSL证书是否有效(发给我一次)以及您在浏览器中调用该网站时显示的内容(任何php错误?) .

    我会评论说,但我没有足够的代表...对不起:/

  • 0

    请按照这种方式,如果你没有得到答案,你的 PHP 有问题:
    1-键入 /revoke ,从 BotFather 撤消 Auth Key
    2-重新设置 WebbhookAuth Key

    https://api.telegram.org/bot<token>/setWebhook?url=https://www.website.com/bot_path
    

    注意#1: setWebhook 区分大小写, W 关键字必须是大写 .
    注意#2:如果你正在使用 CMS ,例如Codeigniter,Laravel,Zend等 . 它不需要在 bot_path 之后放置 .php ,如果不使用它 .
    注意事项#3:如果你想删除你设置的最后一个 Webhook ,你只需要在没有 ?url= 的情况下写上 url .
    3-毕竟你从电报收到这条消息:

    {“ok”:true,“result”:true,“description”:“Webhook已设置”}

    现在你可以测试你的Bot,但要注意这样做以检查你的 Auth Key 如果没有问题,绝对你的 PHP 代码有问题 . 如果您还有问题,请通过网站与我联系解决问题Graphap,然后在这里找到正确答案 .
    我已经告诉要以这种方式重新检查,因为我经常遇到问题,因为 Auth Key 不能正常工作但现在它也能正常工作 .

相关问题