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

Спойлеры ботом никак не отправить?

42 ответов

63 просмотра

API Reference: Formatting options

TupaBan_OF-| 🤍💙❤️ Автор вопроса

Но 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")

Groosha
Слушай, я тебе хуйню ответил. Не надо ждать до aio...

А я думал, что прекратили поддержку 2 версии

umarr
А я думал, что прекратили поддержку 2 версии

Ну так aiogram 3 ещё ж не вышел в релиз

Aleksandr Danilov 🇺🇦
пока нет но переходить стоит

Ну не хочется уходить от привычного, с другой же стороны не зря же они создают 3 версию, значит она будет более практичным

umarr
Надо всего лишь привыкнуть

У меня процесс адаптации закончился когда я узнал что чем стало

ну когда появляется надпись 'печатает'

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

lendoroff
https://docs.aiogram.dev/en/dev-3.x/api/methods/se...

Он хочет обмазаться константами, которые, кажется, ещё не прикрутили в тройку

umarr
Я не про модуль 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

Groosha
await bot.send_chat_action(chat_id=123, action="ty...

Извиняюсь, но эти константы где-то хранятся? Ну как с types.ParseMode.HTML в 2 версии, но в 3 я его чет не нашел

umarr
Не увидел, но они точно будут?

Да будут, конечно. Любителей обмазываться константами много же

Dima
Так это же удобно

Ну юзай, если удобно, кто ж мешает)

Groosha
Ну юзай, если удобно, кто ж мешает)

Ну так какие аргументы за строковые литералы могут быть?)

Dima
Ну так какие аргументы за строковые литералы могут...

Короче и не требуют отдельных импортов. Вот тебе уже и нет однозначности

Groosha
Короче и не требуют отдельных импортов. Вот тебе у...

Как по мне - оба варианта имеют место. Кто как хочет так и др

Groosha
Короче и не требуют отдельных импортов. Вот тебе у...

А в чем минусы импортов? Это дает преимущество ввиду упрощения поддержки, по тому что если ты поменяешь строку не во всех местах будут проблемы, которые надо выискивать возможными вариантами поиска по проекту, когда в случае констант это будет переменная языка, которую может изменить за тебя иде или ты сможешь увидеть ошибку невооруженным взглядом

Dima
А в чем минусы импортов? Это дает преимущество вви...

1) Телега очень сильно дрочит на обратную совместимость. Представить себе ситуацию, что завтра они переименуют photo в image, удалив photo — практически нереально, поэтому первая проблема пропадает. 2) Ещё раз: я юзаю строковые литералы, потому что это короче, особенно с контент-тайпами. Отъебитесь уже

Dima
А в чем минусы импортов? Это дает преимущество вви...

Да не парься, сказали же, что константы добавят, вот и все

Dima
А в чем минусы импортов? Это дает преимущество вви...

А, ну и в любом случае, если даже вдруг поменяется photo на image (предположим, это всё-таки случилось), тебе придётся ждать обновления aiogram...... . . . . .... либо просто заменить везде константы на строковые литералы

umarr
ну когда появляется надпись 'печатает'

Скоро, май мэн Подожди денёк

Groosha
1) Телега очень сильно дрочит на обратную совмести...

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

Oleg A.
Можно из репы код взять)

а там это и не надо уже

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

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

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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта