How to set Telegram bot webhook?

拥有回忆 提交于 2019-11-28 21:37:01

I created a file on my server for conveniently setting up telegram webhooks.

You can use the same file on your server.

This should be on the same server from which you wish to run the Telegram Bot

<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. Drop this file on the same server you wish to host you bots
  2. Ensure the mime-type for .pem is enabled on your webserver
  3. Browse to this page on our server
  4. Fill the form with your BOT_TOKEN and chosen PORT
  5. Upload your certificate file
  6. Submit the form

You will get a successful result:

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!