@andrei1888

Бот не отвечает на запросы на вебхуке, созданном на фрейме cherrypy, что делать?

Бот в консоли выдаёт сообщения с пост запросами с кодом 301, при этом не отвечая на сообщения в телеграмм чате, думаю по этой причине, может кто сталкивался, есть ли решение какое-то, вот скриншот из консоли: 6370b539b2bd3479565255.png
import cherrypy

webhook_host = 'ip'
webhook_port = 443
webhook_listen = '0.0.0.0'

webhook_ssl_cert = 'webhook_cert.pem'
webhook_ssl_private_key = 'webhook_pkey.pem'

webhook_url_base = f'https://{webhook_host}:{webhook_port}'
webhook_url_path = 'token[![введите сюда описание изображения][2]][2]'

bot = telebot.TeleBot("token")


class webhook(object):
    @cherrypy.expose
    def index(self):
        if 'content-length' in cherrypy.request.headers and 'content-type' in cherrypy.request.headers and \
                cherrypy.request.headers['content-type'] == 'application/json':
            length = int(cherrypy.request.headers['content-length'])
            json_string = cherrypy.request.body.read(length).decode('utf-8')
            update = telebot.types.Update.de_json(json_string)
            bot.process_new_updates([update])
            return ''
        else:
            raise cherrypy.HTTPError(403)

@bot.message_handler(func=lambda message: True, content_types=['text'])
def echo_message(message):
    bot.reply_to(message, message.text)

if __name__ == '__main__':
    bot.remove_webhook()
    bot.set_webhook(url=webhook_url_base + webhook_url_path, certificate=open(webhook_ssl_cert, 'r'))
    cherrypy.config.update({
        'server.socket_host': webhook_listen,
        'server.socket_port': webhook_port,
        'server.ssl_module': 'builtin',
        'server.ssl_certificate': webhook_ssl_cert,
        'server.ssl_private_key': webhook_ssl_private_key
    })
    cherrypy.quickstart(webhook(), webhook_url_path, {'/': {}})
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы