0

我用setwebhook方法设置了webhook my telegram bot,但是当我在bot中发送消息时,请不要在我的URL中使用它。我设置了我的电报bot webhook,但不要发送电报。为什么?

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”? 感谢您的帮助

回答

0

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

我会评论说,但我不具有足够的代表处...很抱歉:/

+0

SSL/TLS1.2被接受电报有我的托管。 – mohammad

+0

我还没有任何PHP errore – mohammad

+0

好的和'/ getwebhookinfo'says? – creyD

1

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

检查getWebhookInfo方法,确保您的网络挂接网址是正确的,并且没有last_error_message字段。

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

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

+0

getWebhookinfo的结果是: {“ok”: true,“result”:{“url”:“https://example.com/bot/temp.php”,“has_custom_certificate”:false,“pending_update_count”:0,“max_connections”:40}} – mohammad

+0

我使用共享如果我可以检查我的CDN配置? – mohammad

+0

结果“has_custom_certificate”为false。我必须是真的 – mohammad

1

穆罕默德,我认为电报向您发送请求时发生PHP错误。以下代码应该适用于获取电报请求。

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

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

+0

我检查我的错误日志。但我没有关于这个PHP文件的任何错误。 :( – mohammad

0

请按照这种方式,如果你没有得到答案,你PHP有问题:
1 - 通过键入吊销你的Auth KeyBotFather /撤销
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等,则不需要在bot_path之后放置.php,如果不使用它。
注意事项#3:如果你想删除你设定的最后一个Webhook,你只需要在url以上写上,其余的不需要?url=
3-毕竟你的电报收到此消息:

{ “OK”:真正的 “结果”:真实的, “说明”: “网络挂接设置”}

现在你可以测试你的机器人,但请注意,这样做来检查你的Auth Key,如果没有问题,绝对是你的PHP代码有问题。如果您有问题,请在网站上与我联系以解决问题Graphap,然后在此处输入正确的答案。
我已经告诉重新检查这种方式,因为我有频繁的问题,因为Auth Key哪些不起作用但现在它的工作。