web-dev-qa-db-fra.com

Comment configurer le Webhook de Telegram Bot?

Je développe un bot Telegram et je souhaite définir le webhook sur l'URL de mon domaine. J'ai déjà généré un certificat auto-signé à la suite de Telegram's guide . Cependant, je ne suis pas en mesure de définir le webhook. J'ai recherché les réponses précédentes et trouvé celui-ci , mais cela ne fonctionne pas pour moi. Quelqu'un peut-il m'expliquer comment télécharger le certificat SSL et configurer le webhook?

12
Ignasi93

J'ai créé un fichier sur mon serveur pour configurer facilement les webhooks de télégramme.

Vous pouvez utiliser le même fichier sur votre serveur.

Cela devrait être sur le même serveur à partir duquel vous souhaitez exécuter le Bot Telegram

<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 + '/' + this.token
        }
      }
    }

    )
  </script>
</body>

</html>
  1. Déposez ce fichier sur le même serveur que vous souhaitez héberger vos bots
  2. Assurez-vous que le type MIME pour .pem est activé sur votre serveur Web
  3. Accédez à cette page sur notre serveur
  4. Remplissez le formulaire avec votre BOT_TOKEN et le PORT choisi
  5. Téléchargez votre fichier de certificat
  6. Soumettre le formulaire

Vous obtiendrez un résultat réussi:

{"ok":true,"result":true,"description":"Webhook was set"}

enter image description here

19
Charles Okwuagwu