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哪些不起作用但現在它的工作。