169 похожих чатов

Добрая ночь. Подскажите пожалуйста, в 3.х какие способы отфильтровать по колбекдате? Я

использую только способ втупую - записал в строки эти даты и каждый хендлер проверяю на наличие этих данных через меджик фильтр.

Если ещё точнее - что делать с колбекдатой, как её можно красиво организовать.

19 ответов

33 просмотра

читал где-то про фабрику колбэков. там можно и dict засунуть

413N- Автор вопроса
Nikita Maslov
читал где-то про фабрику колбэков. там можно и dic...

Вот чет я рою документацию, прыгаю в исходниках, не могу найти никак что-то подобное. Я уже и напрямую метод анпак пробовал...

413N
Вот чет я рою документацию, прыгаю в исходниках, н...

Разбирайся сам, я уже засыпаю. https://github.com/MasterGroosha/telegram-report-bot/blob/master/bot/common.py https://github.com/MasterGroosha/telegram-report-bot/blob/master/bot/handlers/main_group_user.py#L47-L56 https://github.com/MasterGroosha/telegram-report-bot/blob/master/bot/handlers/callbacks_reports.py

413N- Автор вопроса

class MyCallbackData(CallbackData, prefix="my_cb"): answer: str is_true: bool builder = InlineKeyboardBuilder() builder.add(InlineKeyboardButton(text="my button", callback_data=MyCallbackData(answer="yes", is_true=True).pack())) router = Router() @router.callback_query(MyCallbackData.filter() async def cb_show(query: CallbackQuery, callback_data: MyCallbackData): print(callback_data.answer) print(callback_data.is_true) @router.message() async def any_msg(message: Message) await message.answer("my text", reply_markup=builder.as_markup()) Накидал тут импорты сам ищи

413N- Автор вопроса
413N- Автор вопроса
Mikhail Smolnikov
class MyCallbackData(CallbackData, prefix="my_cb")...

Говорит, что колбек дата не приходит, когда кликаю по кнопке

413N- Автор вопроса
Konstantin Sazhenov
ты точно включил router тот?

Квери то приходит... А дата как аргумент к функции - нет

413N- Автор вопроса
Konstantin Sazhenov
как ты это понял?

Потому что я прочитал трейс, там написано - пропущен один обязательный аргумент

413N- Автор вопроса
Mikhail Smolnikov
Показывай код, который запускаешь

Уже решили проблему, неправильно назвал аргумент.

Mikhail Smolnikov
class MyCallbackData(CallbackData, prefix="my_cb")...

А какую роль выполняет параметр prefix в классе колбека? Я с трешкой ещё не работал, но пример выглядит намного перспективнее, чем работа в двушке

Сергей Шульга
А какую роль выполняет параметр prefix в классе ко...

Делает колбек дату, чтобы начиналась с prefix Там чета типа f"{prefix}{':'.join(args)}"

Сергей Шульга
А какую роль выполняет параметр prefix в классе ко...

Тоже самое, что и первый параметр в двушке - ключ, по которому данные в принципе разделяются prefix = "ABC" => callback_data = "ABC:..."

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта