Ich entwickle einen Telegram-Bot und möchte den Webhook auf die URL meiner Domain setzen. Ich habe bereits ein selbstsigniertes Zertifikat nach dem generiert Telegram-Leitfaden. Allerdings kann ich den Webhook nicht setzen. Ich habe frühere Antworten gesucht und diese gefunden, aber es funktioniert nicht für mich. Kann mir jemand erklären, wie ich das SSL-Zertifikat hochlade und den Webhook einstelle?
Wie stelle ich den Telegram-Bot-Webhook ein?
Ignasi93
Mahdi Bashirpour
Webhook festlegen
https://api.telegram.org/bot{my_bot_token}/setWebhook?url={url_to_send_updates_to}
Zum Beispiel:
https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/setWebhook?url=https://www.example.com
Webhook löschen
https://api.telegram.org/bot{my_bot_token}/setWebhook?url=
Antwort:
{"ok":true,"result":true,"description":"Webhook was deleted"}
Holen Sie sich Webhook
https://api.telegram.org/bot{my_bot_token}/getWebhookInfo
Charles Okwuagwu
Ich habe auf meinem Server eine Datei erstellt, um Telegramm-Webhooks bequem einzurichten.
Sie können dieselbe Datei auf Ihrem Server verwenden.
Dies sollte sich auf demselben Server befinden, von dem aus Sie den Telegram Bot ausführen möchten
<html>
<head>
<title>Set Webhooks</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.6.0/css/bulma.min.css" />
<script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
<div class="container">
<div id="app" class="section">
<form :action="set_webhook" method="post" enctype="multipart/form-data">
<label class="label">Enter your Token</label>
<p class="control">
<input class="input" type="text" v-model="token" />
</p>
<label class="label">Enter your Host</label>
<p class="control">
<input class="input" type="text" v-model="host" />
</p>
<label class="label">Enter your Port</label>
<p class="control">
<input class="input" type="text" v-model="port" />
</p>
<input type="hidden" name="url" v-model="bot_url">
<label class="label">Maximum Connections?</label>
<p class="control">
<input class="input" type="text" name="max_connections" value="100" />
</p>
<br/>
<p style="color:blue">{{ bot_url }}</p>
<br/>
<label class="label">Enter your Certificate</label>
<p class="control">
<input type="file" name="certificate" id="fileToUpload" />
</p>
<br/>
<div class="control is-grouped">
<p class="control">
<button class="button is-primary" name="submit">Set Webhook</button>
</p>
<br/>
<p class="control">
<a :href="get_webhook_info" target="_blank" class="button is-info">Get Webhook Info</a>
</p>
</div>
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
token: 'xxx',
port: 88,
host: 'your-server.com',
},
computed: {
get_webhook_info: function () {
return 'https://api.telegram.org/bot' + this.token + '/getwebhookinfo'
},
set_webhook: function () {
return 'https://api.telegram.org/bot' + this.token + '/setwebhook'
},
bot_url: function () {
return 'https://' + this.host + ':' + this.port + "https://stackoverflow.com/" + this.token
}
}
}
)
</script>
</body>
</html>
- Legen Sie diese Datei auf demselben Server ab, auf dem Sie Ihre Bots hosten möchten
- Stellen Sie sicher, dass der MIME-Typ für
.pem
auf Ihrem Webserver aktiviert ist - Navigieren Sie zu dieser Seite auf unserem Server
- Füllen Sie das Formular mit Ihrem BOT_TOKEN und dem gewählten PORT aus
- Laden Sie Ihre Zertifikatsdatei hoch
- Senden Sie das Formular ab
Sie erhalten ein erfolgreiches Ergebnis:
{"ok":true,"result":true,"description":"Webhook was set"}
-
Es ist großartig! Einige Verbesserungen vorgenommen und ein Repo mit Live-Demo erstellt: github.com/igronus/telegramhook.tk
– Igronus
16. April 2018 um 12:45 Uhr
-
Diese Seite ist Broker, wenn Sie den vue dist verwenden (weil er den 3.0-Zweig verwendet). Du kannst den … benutzen unpkg.com/[email protected]/dist/vue.js um zu arbeiten
– Samuel Aiala Ferreira
6. Juli um 22:23 Uhr