如何通过python为电报机器人设置webhook?

时间:2017-07-15 06:29:03

标签: python bots telegram

我正在用python编写一个电报机器人,它通过getupdate方法工作得很好。我想通过setwebhook执行它。我在我的机器人代码中使用了telepot库。我有我的bot.please帮助的SSL和主机我怎样才能在我的机器人上设置webhook。 当我在浏览器中输入请求字符串时输出为: 我的请求字符串:

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<body>

    <div ng-app="myApp" ng-controller="myCtrl">

        First Name:
        <input type="text" ng-model="firstName" ng-change="recalculate()">
        <br> Last Name:
        <input type="text" ng-model="lastName"  ng-change="recalculate()">
        <br>
        <br>
        <br> Total:
        <input type="text" ng-model="total">
        <br>
    </div>

    <script>
        var app = angular.module('myApp', []);
        app.controller('myCtrl', function($scope) {
            $scope.recalculate = function() {
                    var tempFirst = 0, tempSecond = 0
                    if($scope.firstName)
                    tempFirst = $scope.firstName;
              if($scope.lastName)
                    tempSecond = $scope.lastName;
                $scope.total = parseInt(tempFirst)  + parseInt(tempSecond);
            };
        });
    </script>

</body>

</html>

,输出为:

https://api.telegram.org/bot[token]/getWebHookInfo

2 个答案:

答案 0 :(得分:0)

您需要在Python上使用http服务器,.py文件是纯文本,不会由服务器执行。

答案 1 :(得分:0)

您需要创建网络服务器设置网址才能接收请求。 Telegram bot向您的服务器发送 POST https 请求,并将已配置的URL发送到端口 443,80,88或8443

当您设置url以接收请求时,您需要设置webhook:向您的电报机器人发送命令,以便将其配置为将所有消息发送到您已设置的服务器和URL。为此,您需要使用参数url , certificate, max_connections等向网址url发送请求。其中{{1}}是您的服务器网址,已准备好接收来自机器人的消息。更多细节https://core.telegram.org/bots/api#setwebhook