en
Feedback
Aiogram hentai 🍓

Aiogram hentai 🍓

Open in Telegram

🍪 Канал із справжнім хентаєм по aiogram. 🍓 Засновник: @wakaree

Show more
343
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
sticker.webp0.46 KB

Трошки оффтопу в каналі. Розповім коротко: у мене в планах заснувати свою екосистему в телеграмі. ❤️ Наразі в розробці VPN-сервіс, токен з'явиться трохи пізніше. Обіцяю, буде весело! @pornofnd 😁

🥳 Мій темплейт зібрав 50 ⭐️ на GitHub!
🥳 Мій темплейт зібрав 50 ⭐️ на GitHub!

🆙 Трохи покращив структуру проекту. — Керування коммітами у БД винесено до UoW; — Додано контекст сесії БД для більш зручного її використання; — Конфігурація була розбита на декілька відповідних частин (за ідею подяка @AndrewKingEGhttps://t.me/aiogram_pcr/1416416/1754526); — Методи-фабрики бота, діспатчера та налаштувань додатку розподілені по окремим модулям; 👩‍💻 Повний комміт

🥱 Stollen – новий асинхронний фреймворк, мета якого – спростити створення client-side API. 👩‍💻 Приклад використання (повна версія) »
class XRocket(Stollen):
    def __init__(self, pay_key: str, production: bool = True, **stollen_kwargs: Any) -> None:
        subdomain: str = "pay" if production else "dev-pay"
        super().__init__(
            base_url=f"https://{subdomain}.ton-rocket.com",
            api_access_nodes=[
                Header(name="Rocket-Pay-Key", value=pay_key),
            ],
            response_data_key=["data"],
            error_message_key=["message"],
            general_error_class=XRocketError,
            error_codes={403: UnknownAPIKeyError},
            **stollen_kwargs,
        )

    async def get_app_info(self) -> AppInfo:
        from .methods import GetAppInfo

        call: GetAppInfo = GetAppInfo()
        return await self(call)
💟 Наразі у стані Pre-Alpha, тому готовий до критики і пропозицій)
👩‍💻 Репозиторій

🦷 Bot API v7.0 — наразі вважається наймасштабнішим оновленням.
Трохи запізнився з постом, але краще пізно, ніж ніколи. :)
❤️ Реакції Тепер боти можуть реагувати на повідомлення методом setMessageReaction. Боти також бачать реакції на повідомлення. (Як це обробляти в aiogram?) Додано поле available_reactions до об'єкту Chat. 💬 Реплаї Тепер, використовуючи ReplyParameters, боти можуть відповідати на повідомлення у інших чатах та топіках, а також цитувати будь яку частину повідомлення. Додано об'єкт ExternalReplyInfo — інформація про повідомлення, яке реплайнули з іншого чату. Нове поле quote у об'єкта Message дозволяє ботам розпізнавати цитати. 👀 Прев'ю посилань Тепер боти можуть встановлювати окрему URL-адресу для створення прев'ю посилань у вихідних повідомленнях. Додана можливість змінювати розмір та позицію прев'ю в повідомленні. Тепер для зміни параметрів прев'ю потрібно вказувати LinkPreviewOptions. 🛍 Пакетні дії • Боти тепер можуть видалити до 100 повідомлень одночасно методом deleteMessages.Аналогічно з видаленням — повідомлення тепер можна пересилати та копіювати пачками використовуючи відповідні методи: forwardMessages та copyMessages. 🆙 Бусти й роздачі • Додана підтримка Giveaway повідомлень, тепер боти бачуть їх створення та завершення.Також боти тепер дізнаються про бусти з відповідними подіями: ChatBoostUpdated та ChatBoostRemoved. Боти знають про джерело бусту — преміум підписник, подарунковий код, чи роздача. Методом getUserChatBoosts можна переглядати активні бусти від конкретного користувача у каналі. 🍓 Загальне Блоки цитат тепер підтримуються в MarkdownV2 та HTML режимах парсингу. Веб-аппи не закриваються під час виклику openTelegramLink. Веб-аппи тепер можуть перемикати видимість і поведінку кнопки налаштувань під час натискання. Боти тепер підтримують запит на вибір декількох користувачів (KeyboardButtonRequestUsers). Об'єкт Chat має нові поля, що містять кольори профілю та фону, кастомні емоджі тощо. 📋 Повний список змін 💦 Оригінальний пост #news, #новини

О, русачки себе відмічати почали
О, русачки себе відмічати почали

Happy New Year! 🎄🫶 Let moscow burn! 🔥

Як же ця русня заєбала канал і чати засирать

🙃 Startup, shutdown... - Де закривати сесію мого апі? - А підключення до бд? - Де створювати фонові задачі при запуску? 🤯 2 евента, startup і shutdown!!!!
async def startup(my_api: MyAPI, something_else: SomethingElse) -> Any:
    await my_api.send(text="&b&lHello, world!")
    asyncio.create_task(something_else.polling())

async def shutdown(my_api: MyAPI, something_else: SomethingElse) -> Any:
    await my_api.close()
    await something_else.stop()

def main() -> None:
    bot: Bot = Bot(token="42:ABC")
    dp: Dispatcher = Dispatcher()
    dp.startup.register(startup)  # Да, це такі самі евенти, як і на message, callback_query тощо
    dp.shutdown.register(shutdown)
    dp.run_polling(bot)
» Dependency injection працює так само, як і в обробниках телеграм-апдейтів. » Єдине, що відрізняє ці евенти від телеграм-евентів — не мають свого об'єкта. Реєструються же вони так само.

Бачу, що більшість підтримало ідею... ⚠️ NSFW warning! 🍓 Aiogram hentai (18+)

🩲 Відкривати Aiogram hentai NSFW 🍓?

☕️ Оновлення! — ⚒ Провів невеликий рефакторинг коду — 👩‍💻 Додав інтеграцію з Docker (комміт)

🥳 200 підписників!

🧼 Як і для чого писати чистий, ефективний та читабельний код?
Насправді "чистий код" це дуже розмите поняття, бо в багатьох розробників своя думка й уявлення щодо цього. Я вибрав основні пункти, що на мою думку дійсно можуть допомогти писати якісний код, повторюсь, якісний, а не ідеальний. Всякі тупі тези на кшталт «в функції не більше 7 аргументів» розглядатися не будуть.
📝 Для цього існує чимало рекомендацій та інструментів. Конкретно для Python: — Загальноприйняті стандарти написання коду — PEP-8 (» клац «) — Лінтер коду Ruff (» клац «) (Що таке "лінтер"?) — Засіб форматування коду Black (» клац «) — Статичний аналізатор анотацій типів (type-hints)mypy (» клац «)
Бонус. Приклад проекту з використанням зв'язки ruff-black-mypy: https://github.com/wakaree/aiogram_bot_template
🖌 Окрім цього існують і загальні рекомендації, актуальні вже не тільки для пайтону: — Принципи SOLID Українською 🇺🇦 / Англійською 🇬🇧Патерни (шаблони) проектування (» тик «) — Ще одна коротенька, але корисна стаття по код-стайлу (» тик «) 😐 Чому важливо дотримуватися цих рекомендацій? — Такий код набагато легше прочитати і зрозуміти. Інші розробники, що працюватимуть з вашим кодом будуть вдячні! — При правильному використанні патернів проект буде легше масштабувати. — Це знижує ризики виникнення багів, неочікуваної поведінки, й навіть того, що ви самі заплутаєтесь у своєму коді (так, таке буває). #code_style, #code_better

👋 Відкрив репозиторій зі своїм темплейтом, готовий до критики і пропозицій. 👩‍💻 Посилання на репозиторій

🤔 Що нового в Bot API v6.9? — Взаємодія з правами на сторіси в методі promoteChatMember й типах ChatMemberAdministrator, ChatAdministratorRights. — Тепер для Web App можна установити будь-який колір заголовка методом setHeaderColor. — Додано поле CloudStorage до класу WebApp. — Додано методи requestWriteAccess і requestContact до класу WebApp. — До веб-додатків додано події writeAccessRequested та contactRequested. — До класу WriteAccessAllowed додано поля from_request та from_attachment_menu. — До класу WebAppUser додано поля added_to_attachment_menu та allows_write_to_pm # Джерело: https://core.telegram.org/bots/api#september-22-2023

幸せな独立記念日!🇺🇦

🍓

🥳 aiogram_i18n 1.3 вже тут! 📋 Список змін » — «Додано багато чого» © Патрік ⚠️ Мінімальна версія aiogram » 3.0.0b8 ⬇️ Завантажити бібліотеку можна з PyPi » pip install aiogram-i18n #aiogram_i18n, #переклад, #утиліти, #локалізація, #localization