Обработка данных телеграммы в Python 3
Я создал чатбота с помощью этого фреймворка pyTelegramBotAPI и установил webhook для моего чатбота в Telegram. Я использую CherryPy для этого. Все отлично работает Но я не могу обработать данные, которые пользователь отправляет моему боту. Я просто получаю уведомление, что пользователь что-то отправил. Как я могу решить это? Благодарю.
1 ответ
Решение
Я решил эту проблему. Просто нашел переменную в моем коде, который отвечает за JSON. Вот мой код:
class WebhookServer(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") <-- this one responds for json from webhook
update = telebot.types.Update.de_json(json_string)
global jsonObj
jsonObj = json.loads(json_string)
print(jsonObj)
bot.process_new_updates([update])
return ''
else:
raise cherrypy.HTTPError(403)