我使用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 回答
您可以通过以下方法找出问题:
检查getWebhookInfo方法,确保您的webhook网址正确无,且没有
last_error_message
字段 .将类似数据发布到您的服务器,here是您可以在
curl -d JSON
中使用的一些数据,只需将其复制并在您自己的服务器上运行即可 .最后,检查您的CDN配置(如果您已在该服务器上应用),临时禁用泛滥或任何检查 .
Mohammad,我认为当电报向您发送请求时会发生PHP错误 . 以下代码应该可以正常获取Telegram请求 .
我认为你的脚本在此代码之前停止 . 我建议你启用PHP调试模式并检查错误日志 .
/getwebhookinfo
方法的结果是什么,你可以在这里发布吗?请检查您的SSL证书是否有效(发给我一次)以及您在浏览器中调用该网站时显示的内容(任何php错误?) .我会评论说,但我没有足够的代表...对不起:/
请按照这种方式,如果你没有得到答案,你的
PHP
有问题:1-键入 /revoke ,从
BotFather
撤消Auth Key
2-重新设置
Webbhook
新Auth Key
:注意#1:
setWebhook
区分大小写,W
关键字必须是大写 .注意#2:如果你正在使用
CMS
,例如Codeigniter,Laravel,Zend等 . 它不需要在bot_path
之后放置.php
,如果不使用它 .注意事项#3:如果你想删除你设置的最后一个
Webhook
,你只需要在没有?url=
的情况下写上url
.3-毕竟你从电报收到这条消息:
现在你可以测试你的Bot,但要注意这样做以检查你的
Auth Key
如果没有问题,绝对你的PHP
代码有问题 . 如果您还有问题,请通过网站与我联系解决问题Graphap,然后在这里找到正确答案 .我已经告诉要以这种方式重新检查,因为我经常遇到问题,因为
Auth Key
不能正常工作但现在它也能正常工作 .