Telegram, Python-telegram-bot==13.13, webhook

问题描述 投票:0回答:1

帮我弄清楚错误是什么。我重新设计了机器人以通过 webhook 工作 我将收到电报 POST /webhook/ 200 OK 的回复,但是当我按下 /start 时机器人停止响应命令,机器人保持沉默。告诉我哪里出错了?提前致谢

我在 django 上为 8050 端口启动一切

from telegram import *
from telegram.ext import *
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from decouple import config
import json


TOKEN = config('TELEGRAM_TOKEN')
bot = Bot(token=TOKEN)
updater = Updater(token=TOKEN)
dp = updater.dispatcher


@csrf_exempt
def webhook(request):
    print('this is webhook')
    if request.method == 'POST':
        update = Update.de_json(json.loads(request.body), bot)
        dp.process_update(update)

    return HttpResponse('ok')


def start(update: Update, context: CallbackContext) -> None:
    print('this is start')
    update.message.reply_text('Hello World!')


def echo(update: Update, context: CallbackContext) -> None:
    print('this is echo')
    update.message.reply_text(update.message.text)


if __name__ == '__main__':
    print('this is main')

    dp.add_handler(CommandHandler('start', start))
    dp.add_handler(MessageHandler(Filters.text, echo))
    updater.start_webhook(
        listen="0.0.0.0",
        port=8050,
    )

    updater.idle()
python django webhooks python-telegram-bot
1个回答
0
投票

dp.add_handler(CommandHandler('开始', 开始))

dp.add_handler(MessageHandler(Filters.text, echo))

if name == 'main': 打印('这是主要的')

updater.start_webhook(
    listen="0.0.0.0",
    port=8443,
)

updater.idle()

我只是从上面的 main 移动命令,一切正常

© www.soinside.com 2019 - 2024. All rights reserved.