имею ввиду всплывающую хрень при вводе части команды или вовсе от "/"
API Reference: setMyCommands
Да, в курсе, просто я пишу обёртку которая снимает с меня всякую нужду лезть хуй пойми куда и прописывать это всё
ты на гит уже выложил кста?
Неа, пилю под тройку
Сейчас вроде все мои 3 модуля под тройкой запускаются, но надо тесты сделать. Автохинтер, автодействия, и сверху мой метод структурирования хендлеров
шо такое автодействия
typing например
через фильтр?
Выглядит как-то так. class DefaultHandlers(BasicGroupHandler): """ Handlers for basic commands """ @reg.command('start', action='upload_video') async def cmd_start(self, m: Message): """ Start hint! :param m: :type m: :return: :rtype: """ await m.answer("Start!") @reg.command('help') async def cmd_help(self, m: Message): """ Help hint! :param m: :type m: :return: :rtype: """ await m.answer("Help!") Если не указать action то идёт дефолтное. То есть тайпинг. Касательно хинтов - либо из внешнего источника (если там есть), либо из докстринга, либо WIP
Я ещё подумываю над тем чтоб как-то self хранить нормально, в редисе например, но хз целесообразно ли
чем именно? P.S. нейминг класса говно ебаное
тем шо оно класс хендлер, и плюс тайпинги должны быть опциональными имхо
Тайпингу можно дать дефолтное значение "", и его не будет для данной команды.
Я посмотрел класс-хендлер, вообще другое, лол
а если его просто не передавать
ну это да, но хендлеры в классе энивей странно выглядит
если ты про автодействия, то typing
я думаю, что затея неприкольная
Зато это позволяет легко подключать тесты. Причём именно сценарные, самих диалогов
action='nothing'
если только подключать эти фильтры к роутерам, где оно требуется
Тут я ещё думаю, но возможность есть
В том числе мутационные и дебилистические тесты. Проверка на входные данные, на защиту от пользователя-идиота, да какие угодно.
Обсуждают сегодня