From d5c182af2e242cf7ad3c2541bb9b0098adb2ba47 Mon Sep 17 00:00:00 2001 From: Kylmakalle Date: Wed, 19 Jun 2019 22:56:36 +0300 Subject: [PATCH] Fix for Long messages from TG Use POST instead of GET method for long messages --- telegram.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/telegram.py b/telegram.py index 3fd1f1a..0a7f196 100644 --- a/telegram.py +++ b/telegram.py @@ -2,6 +2,7 @@ from aiogram import types from aiogram.bot.api import FILE_URL from aiogram.dispatcher.webhook import get_new_configured_app from aiohttp import web +from aiohttp.client_exceptions import ContentTypeError from bot import * from config import * @@ -77,6 +78,16 @@ async def vk_sender(token, tg_message, **kwargs): try: api = API(session) vk_msg_id = await api('messages.send', **kwargs) + except ContentTypeError: + kwargs['v'] = session.API_VERSION + kwargs['access_token'] = session.access_token + try: + url, html = await session.driver.post_text(url=session.REQUEST_URL + 'messages.send', data=kwargs) + response = ujson.loads(html) + vk_msg_id = response['response'] + except: + log.exception(msg='Error in vk sender', exc_info=True) + return None except VkAuthError: vk_user = VkUser.objects.filter(token=token).first() if vk_user: