Size: a a a

2017 September 29

VK

Vladislav Kashin in aiogram [ru]
Атом
источник

AR

Alex RootJunior in aiogram [ru]
оупс. не охота с pdb лезть...
источник

AR

Alex RootJunior in aiogram [ru]
и пичарм вообще даже не установлен? :D
источник

VK

Vladislav Kashin in aiogram [ru]
Нет, я любитель))
источник

AR

Alex RootJunior in aiogram [ru]
Vladislav Kashin
Нет, я любитель))
тогда подожди еще чуток, пока расковыряю pdb :D
не юзал его, ибо дебагер в ИДЕ-шке намного удобнее %)
источник

AR

Alex RootJunior in aiogram [ru]
Vladislav Kashin
Нет, я любитель))
Для начала добавь:
@dp.errors_handler()
async def errors_handler(dispatcher, update, exception):
   logging.exception(exception)

и в начало функции main:
import pdb
pdb.set_trace()
источник

VK

Vladislav Kashin in aiogram [ru]
Сделал, а как им пользоваться?)
источник

AR

Alex RootJunior in aiogram [ru]
Vladislav Kashin
Сделал, а как им пользоваться?)
вот сейчас ковыряю
источник

VK

Vladislav Kashin in aiogram [ru]
if update.callback_query:
               if has_context:
                   state = self.storage.get_state(chat=update.callback_query.message.chat.id,
                                                  user=update.callback_query.from_user.id)
                   context.set_value(USER_STATE, await state)
               return await self.callback_query_handlers.notify(update.callback_query)
источник

VK

Vladislav Kashin in aiogram [ru]
Сделал принтами))
источник

VK

Vladislav Kashin in aiogram [ru]
Попадает в первое условие
источник

AR

Alex RootJunior in aiogram [ru]
а дальше?
источник

VK

Vladislav Kashin in aiogram [ru]
А в if has_context нет
источник

AR

Alex RootJunior in aiogram [ru]
ну туда попадет только если вот это сделаешь. это не обязательно.
источник

AR

Alex RootJunior in aiogram [ru]
Кстати просто так, к слову:
начиная с версии 0.4.2 можно юзать небольшую оптимизацию:

from aiogram.utils import context loop.set_task_factory(context.task_factory)


В 0.4.2 - только для оптимизации FSM
В 1.0.0 (soon) - для получение текущего экземпляра бота из контекста выполнения. Например для использования метода reply у сообщения (сейчас там другой механизм)
источник

AR

Alex RootJunior in aiogram [ru]
Vladislav Kashin
А в if has_context нет
окей, теперь посмотри aiogram/dispatcher/filters.py после 23 строки:
print(f, filters, args, kwargs)
источник

AR

Alex RootJunior in aiogram [ru]
если уж принтами полез..
источник

AR

Alex RootJunior in aiogram [ru]
должен быть один вывод похожий на этот: True [<aiogram.dispatcher.filters.StateFilter object at 0x7f73c0c6e5c0>] ({'id': '262181559971060720', ... },) {}
(кусок намеренно вырезал из сообщения, дабы не было длинной пасты)
источник

VK

Vladislav Kashin in aiogram [ru]
Ничего не весело
источник

VK

Vladislav Kashin in aiogram [ru]
Вывело
источник