Size: a a a

2020 May 16

q

quavo in aiogram [ru]
ех, а мне так не помогали с коллбекдатой
источник

ЕП

Евгений Петров... in aiogram [ru]
Gabben
у этой штуки две функции:
new - Генерирует новую колбек дату с указанным префиксом, значениями и разделителем (: по умолчанию), которую ты потом помещаешь в инлайн кнопки
filter - Возвращает фильтр, по указанным значениям. Его ты указываешь там где и все фильтры.
filter() - значения у "частей" любые
filter(some_part="foo") - some_part равен "foo", остальные части - любое значение
filter(some_part="foo", yet_another_part="bar") - some_part равен foo, yet_another_part равен bar

частей может быть сколько угодно (главное уложится в 64кб), названия могут быть любые, названий в сгенерированной дате нет, только значения
Для чего это можно использовать?
источник

q

quavo in aiogram [ru]
Евгений Петров
Для чего это можно использовать?
для калбасков
источник

q

quavo in aiogram [ru]
источник

G

Gabben in aiogram [ru]
Евгений Петров
Для чего это можно использовать?
чтобы удобно работать с колбеками, потому что их со временем становится много, начинаешь придумывать свои костыли, а они уже есть из коробки.
Вот кейс - клавиатура с настройками, две секции - язык и удаление аккаунта.

Создаю под это CallbackData
SETTINGS_DATA = CallbackData("s", "section")

Создаю под это клавиатуру
SETTINGS = types.InlineKeyboardMarkup(inline_keyboard=[
   [types.InlineKeyboardButton(_("Language"), callback_data=SETTINGS_DATA.new("language"))],
   [types.InlineKeyboardButton(_("Delete account"), callback_data=SETTINGS_DATA.new("delete_account"))]
])

Потом как на картинке хендлеры с крутыми фильтрами
источник

q

quavo in aiogram [ru]
Gabben
чтобы удобно работать с колбеками, потому что их со временем становится много, начинаешь придумывать свои костыли, а они уже есть из коробки.
Вот кейс - клавиатура с настройками, две секции - язык и удаление аккаунта.

Создаю под это CallbackData
SETTINGS_DATA = CallbackData("s", "section")

Создаю под это клавиатуру
SETTINGS = types.InlineKeyboardMarkup(inline_keyboard=[
   [types.InlineKeyboardButton(_("Language"), callback_data=SETTINGS_DATA.new("language"))],
   [types.InlineKeyboardButton(_("Delete account"), callback_data=SETTINGS_DATA.new("delete_account"))]
])

Потом как на картинке хендлеры с крутыми фильтрами
моржей юзаем значит да
источник

G

Gabben in aiogram [ru]
код и нейминг говно, прошу прощения за кровь в глазах
источник

ЕП

Евгений Петров... in aiogram [ru]
Gabben
чтобы удобно работать с колбеками, потому что их со временем становится много, начинаешь придумывать свои костыли, а они уже есть из коробки.
Вот кейс - клавиатура с настройками, две секции - язык и удаление аккаунта.

Создаю под это CallbackData
SETTINGS_DATA = CallbackData("s", "section")

Создаю под это клавиатуру
SETTINGS = types.InlineKeyboardMarkup(inline_keyboard=[
   [types.InlineKeyboardButton(_("Language"), callback_data=SETTINGS_DATA.new("language"))],
   [types.InlineKeyboardButton(_("Delete account"), callback_data=SETTINGS_DATA.new("delete_account"))]
])

Потом как на картинке хендлеры с крутыми фильтрами
Вообще ничего не понял, если честно( вот просто нихера
источник

q

quavo in aiogram [ru]
я на самом деле пытался пару раз моржа поюзать, но потом думал, что как-то рановато может
источник

G

Gabben in aiogram [ru]
quavo
я на самом деле пытался пару раз моржа поюзать, но потом думал, что как-то рановато может
кто такой морж
источник

q

quavo in aiogram [ru]
Gabben
кто такой морж
:=
источник

G

Gabben in aiogram [ru]
а да, решил по приколу заюзать, зря что-ли обновлялся
источник

ЕП

Евгений Петров... in aiogram [ru]
Как SETTINGS_DATA = CallbackData("s", "section")
связан с
callback_data=SETTINGS_DATA.new("language")) ?
источник

G

Gabben in aiogram [ru]
https://t.me/aiogram_ru/208721 тут же описал
источник

ЕП

Евгений Петров... in aiogram [ru]
Кстати, @gabbhack почему ты query.answer() делаешь в самом начале? Может, перенести в самый конец?
Сейчас, если у тебя код крашнется, "часики" пропадут и юзер не будет понимать, то ли никакой реакции не должно быть, то ли одно из двух.
А так он по длительным "часикам" поймёт, что что-то не то
источник

G

Gabben in aiogram [ru]
Евгений Петров
Кстати, @gabbhack почему ты query.answer() делаешь в самом начале? Может, перенести в самый конец?
Сейчас, если у тебя код крашнется, "часики" пропадут и юзер не будет понимать, то ли никакой реакции не должно быть, то ли одно из двух.
А так он по длительным "часикам" поймёт, что что-то не то
справедливо
источник

Т

Технопёс in aiogram [ru]
Евгений Петров
Вообще ничего не понял, если честно( вот просто нихера
+, тяжеловато к восприятию
источник

ЕП

Евгений Петров... in aiogram [ru]
Gabben
у этой штуки две функции:
new - Генерирует новую колбек дату с указанным префиксом, значениями и разделителем (: по умолчанию), которую ты потом помещаешь в инлайн кнопки
filter - Возвращает фильтр, по указанным значениям. Его ты указываешь там где и все фильтры.
filter() - значения у "частей" любые
filter(some_part="foo") - some_part равен "foo", остальные части - любое значение
filter(some_part="foo", yet_another_part="bar") - some_part равен foo, yet_another_part равен bar

частей может быть сколько угодно (главное уложится в 64кб), названия могут быть любые, названий в сгенерированной дате нет, только значения
Стоп, это просто обвязка, чтобы генерить поле callback_data на кнопках?
источник

q

quavo in aiogram [ru]
так стопэ
источник

G

Gabben in aiogram [ru]
Евгений Петров
Стоп, это просто обвязка, чтобы генерить поле callback_data на кнопках?
именно
источник