我使用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为空。 我使用webhook时不使用setwebhook机器人进行更新没有问题。不需要数据。
结果运行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”吗? 谢谢你的帮助
答案 0 :(得分:1)
您可以通过以下方法找出问题:
检查getWebhookInfo方法,确保您的webhook网址正确无误,并且没有last_error_message
字段。
将类似数据发布到您的服务器,here是您可以在curl -d JSON
中使用的一些数据,只需将其复制并在您自己的服务器上运行。
最后,检查您的CDN配置(如果您已在该服务器上申请),临时禁用洪水或任何检查。
答案 1 :(得分:1)
Mohammad,我认为当电报向您发送请求时会发生PHP错误。以下代码适用于获取Telegram请求。
$json = file_get_contents('php://input');
$request = json_decode($json);
我认为您的脚本在此代码之前停止。我建议你启用PHP调试模式并检查错误日志。
答案 2 :(得分:0)
/getwebhookinfo
方法的结果是什么?你可以在这里发布吗?
请检查您的SSL证书是否有效(发给我一次)以及您在浏览器中调用该网站时会显示什么(任何php错误?)。
我会评论说,但我没有足够的代表......对不起:/
答案 3 :(得分:0)
请按照这种方式进行操作,如果您没有得到答案,则PHP
有问题:
1-键入 / revoke ,从Auth Key
撤消BotFather
2-重新设置Webbhook
新Auth Key
:
https://api.telegram.org/bot<token>/setWebhook?url=https://www.website.com/bot_path
通知#1:setWebhook
区分大小写,W
关键字必须为大写。
注意事项#2:如果你正在使用CMS
,例如Codeigniter,Laravel,Zend等。它不需要在.php
之后放bot_path
,如果不使用它。
注意#3:如果您要删除已设置的上一个Webhook
,则只需在url
上方写上?url=
,其余为Auth Key
。
3-毕竟你收到了来自电报的信息:
{“ok”:true,“result”:true,“description”:“Webhook已设置”}
现在您可以测试您的Bot,但请注意以这种方式检查您的PHP
并且如果没有问题,绝对您的Auth Key
代码有问题。如果您还有问题,请在网站上与我联系以解决问题Graphap,然后在此处提出正确的答案
我已经告诉要以这种方式重新检查,因为我经常遇到问题,因为{
"AvailabilityZone": "eu-west-1a",
"Encrypted": true,
"VolumeType": "gp2",
"VolumeId": "vol-xxxxx",
"State": "creating",
"Iops": 100,
"SnapshotId": "snap-xxxxx",
"CreateTime": "2017-07-14T21:03:24.430Z",
"Size": 10
}
不能正常工作但现在它也能正常工作。