Size: a a a

2020 May 25

SA

Sebyakin Andrei in aiogram [ru]
Sebyakin Andrei
Всем привет! Подскажите плиз, не получается залить фотку из BytesIO в чат. Много комбинаций перепробовал, но код примерно такой.
    with BytesIO() as output:
       img.save(output, format='jpg')
       logs.debug('Picture saved!')
       t = types.InputMediaPhoto(types.InputFile(output))
       await query.message.answer_photo(t)
Поменял jpg на png, магическим образом сохранило, теперь t создает успешно и выдает в дебаг {"media": "attach://-rT8kPUcLzSJeKYnd_Mcug", "type": "photo"}, но answer_photo все равно не отрабатывает и результат await'а также не выводит
источник

SA

Sebyakin Andrei in aiogram [ru]
Прошелся дебагером, выкинуло в метод process_update Dispatcher'а с ошибкой 'Can not serialize value type: <class \'aiogram.types.input_media.InputMediaPhoto\'>
источник

‌‌‎lyteloli in aiogram [ru]
Евгений Ры́марев
Как в том примере выше? Про FSM.
Фсм просто один из способов фильтрации вопроса, но вполне подойдет в этом случае
источник

ЕР

Евгений Ры́марев... in aiogram [ru]
‌‌‎lyteloli
Фсм просто один из способов фильтрации вопроса, но вполне подойдет в этом случае
а можешь показать пример того, что предлагаешь ты?
источник

‌‌‎lyteloli in aiogram [ru]
Евгений Ры́марев
а можешь показать пример того, что предлагаешь ты?
Я предложил абстрактное решение, вариант реализации придумай сам
источник

‌‌‎lyteloli in aiogram [ru]
Я у себя собирал по сути тот же фсм только на коленке с mysql, но лучше так не делать
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
В фильтре делай:
data = ctx_data.get()
user: User = data["user"]

Дальше что хочешь
источник

S

Stanislav in aiogram [ru]
<Юрий> 👨‍🔬 Чебышев
В фильтре делай:
data = ctx_data.get()
user: User = data["user"]

Дальше что хочешь
Спасибо, только не совсем понял, как фильтр сделать? Вот так:
@dp.callback_query_handler(data=ctx_data.get(), data["user"].subscribe=True, text_contains='main')
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
Stanislav
Спасибо, только не совсем понял, как фильтр сделать? Вот так:
@dp.callback_query_handler(data=ctx_data.get(), data["user"].subscribe=True, text_contains='main')
Фильтр это любая функция которая принимает объект события (например message, callback_query, и другие) и возвращающая bool.
При этом объектом события пользоваться не обязательно
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
Делаешь
def my_filter(q):
   data = ctx_data.get()
   user: User = data["user"]
   return user.id==42
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
@dp.callback_query_handler(my_filter, text_contains='main')
источник

S

Stanislav in aiogram [ru]
<Юрий> 👨‍🔬 Чебышев
Делаешь
def my_filter(q):
   data = ctx_data.get()
   user: User = data["user"]
   return user.id==42
Теперь, вроде понял. Спасибо тебе! Сейчас попробую
источник

G

Gabben in aiogram [ru]
<Юрий> 👨‍🔬 Чебышев
Фильтр это любая функция которая принимает объект события (например message, callback_query, и другие) и возвращающая bool.
При этом объектом события пользоваться не обязательно
не только лишь bool
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
Gabben
не только лишь bool
Это будет приятным открытием)
источник

Д

Даша in aiogram [ru]
Пожскажите плиз как сделать проверку текста с клавиатуры
источник

Д

Даша in aiogram [ru]
Есть клавиатура с кнопками "да" и "нет". Как проверить ввод?
источник

<Юрий> 👨‍🔬 Чеб... in aiogram [ru]
Даша
Пожскажите плиз как сделать проверку текста с клавиатуры
https://docs.python.org/3/library/
Вот тут уже все изучили?
источник

Д

Даша in aiogram [ru]
источник

Д

Даша in aiogram [ru]
if message.text == "": не работает
источник

ИС

Игорь Середа... in aiogram [ru]
Чёто много трансов в чате в последнее время.
источник