API Reference: Formatting options
Но aiogram ещё не поддерживает, будет в 2.18 только
Слушай, я тебе хуйню ответил. Не надо ждать до aiogram 2.18, чтобы спойлеры слать. Функций spoiler и hspoiler не будет, но зато уже точно работает такое @dp.message_handler(commands="test") async def cmd_test(message: types.Message): await message.answer("<tg-spoiler>xxx</tg-spoiler>", parse_mode="HTML") await message.answer("<span class='tg-spoiler'>yyy</span>", parse_mode="HTML")
теория и практика
А я думал, что прекратили поддержку 2 версии
Ну так aiogram 3 ещё ж не вышел в релиз
пока нет но переходить стоит
Ну не хочется уходить от привычного, с другой же стороны не зря же они создают 3 версию, значит она будет более практичным
Надо всего лишь привыкнуть
У меня процесс адаптации закончился когда я узнал что чем стало
ну когда появляется надпись 'печатает'
await bot.send_chat_action(chat_id=123, action="typing")
https://docs.aiogram.dev/en/dev-3.x/api/methods/send_chat_action.html
Я не про модуль typing
Он хочет обмазаться константами, которые, кажется, ещё не прикрутили в тройку
Осторожно, код хуета, написан на скорую руку. class ActionsFromFilter(BaseFilter): action = "typing" async def __call__(self, *args, **kwargs) -> bool: if self.action != 'none': await kwargs.get("bot").send_chat_action(kwargs.get("event_chat").id, self.action) return True
я предупредил
Извиняюсь, но эти константы где-то хранятся? Ну как с types.ParseMode.HTML в 2 версии, но в 3 я его чет не нашел
https://t.me/aiogram_ru/924726
Не увидел, но они точно будут?
Да будут, конечно. Любителей обмазываться константами много же
Так это же удобно
Это дает чувство уверенности
Ну юзай, если удобно, кто ж мешает)
Ну так какие аргументы за строковые литералы могут быть?)
Короче и не требуют отдельных импортов. Вот тебе уже и нет однозначности
Как по мне - оба варианта имеют место. Кто как хочет так и др
А в чем минусы импортов? Это дает преимущество ввиду упрощения поддержки, по тому что если ты поменяешь строку не во всех местах будут проблемы, которые надо выискивать возможными вариантами поиска по проекту, когда в случае констант это будет переменная языка, которую может изменить за тебя иде или ты сможешь увидеть ошибку невооруженным взглядом
1) Телега очень сильно дрочит на обратную совместимость. Представить себе ситуацию, что завтра они переименуют photo в image, удалив photo — практически нереально, поэтому первая проблема пропадает. 2) Ещё раз: я юзаю строковые литералы, потому что это короче, особенно с контент-тайпами. Отъебитесь уже
Да не парься, сказали же, что константы добавят, вот и все
А, ну и в любом случае, если даже вдруг поменяется photo на image (предположим, это всё-таки случилось), тебе придётся ждать обновления aiogram...... . . . . .... либо просто заменить везде константы на строковые литералы
Скоро, май мэн Подожди денёк
Субъективно насколько возможно. Я например предпочитаю константы в виде классов, код на мой взгляд более опрятный получается. Опять же, кто как хочет - так и др...
Можно из репы код взять)
а там это и не надо уже
Обсуждают сегодня