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

时间:2017-04-20 09:25:26

标签: bots telegram telegram-bot php-telegram-bot telegram-webhook

我使用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”吗? 谢谢你的帮助

4 个答案:

答案 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-重新设置WebbhookAuth 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 } 不能正常工作但现在它也能正常工作。

相关问题