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.31 KB

🤔 Що нового в Bot API v6.8? — Додано поле story до класу Message для повідомлень із пересланими історіями. Наразі воно не містить інформації. 🤷 — Додано поле voter_chat до класу PollAnswer, щоб містити виборців чату каналу в Polls. Для зворотної сумісності поле юзера в таких об’єктах міститиме 136817688 (@Channel_Bot) — Додано поле emoji_status_expiration_date до класу Chat — Доданий метод unpinAllGeneralForumTopicMessages — Максимальну довжину параметра startapp у прямих посиланнях на веб-додатки збільшено до 512 символів. # Джерело: https://core.telegram.org/bots/api#august-18-2023

Repost from aiogram live
💣 aiogram v3.0 Release Candidate 2 is here! Changelog: https://docs.aiogram.dev/en/latest/changelog.html#rc2-2023-08-18 Added full support for Bot API 6.8, also has small fixes and partially improved documentation. You can install RC version from pypi: pip install -U --pre aiogram

Repost from about aiogram
😐 Якщо ти задаєш питання ось так.. #порада «Доброго дня! Підкажіть, чому може виникати NazvaPomylky: opys pomylkyабо взагалі ось так.. «Доброго дня! Допоможіть будь ласка, хто шарить у ...» ...то будь готовий, що шанси отримати допомогу будуть в рази менше. 🤔 А що не так? Спочатку розглянемо другий кейс, коли ти взагалі не переходиш до проблеми одразу. Це мета-питання, яких потрібно уникати в подібних чатах! Перший кейс, ти все таки надіслав текст помилки. Але ніхто не збирається витрачати свій час щоб відгадувати, що саме сталося. Назви й опису недостатньо, щоб зрозуміти твою проблему! Те саме стосується й випадків, коли ти прислав тільки скріншот коду й просто питаєш "Чому це не працює?" 📋 Ось список порад, як корректно задати питання й отримати фідбек якомога швидше. » Перед тим як написати у чат, спробуй розібратися з помилкою самостійно. Можливо, варто почитати документацію, або й зовсім підучити Python. » Не задавай мета-питань. » Якщо тобі погодилися допомогти у чаті, не потрібно одразу писати людині у ПП. (Більше про це ») » Показуй повну помилку, від Traceback (most recent call last): до NazvaPomylky: opys pomylky. » Не лінися ділитися контекстом помилки. Наприклад, якщо вона виникла у якомусь обробнику start_command, показуй увесь метод. » Ділися кодом й трейсбеком на пасті, а не скидай полотно у чаті. » Іноді, коли проблема неочевидна, просто показати код може бути недостатньо. Буде потрібен Мінімально відтворюваний приклад.

This channel can't be displayed because it violated local laws.

69
69

👉 Як тегнути чувака по айді? Посилання tg://user?id=<user_id> можна використовувати для згадування користувача за його ID, навіть якщо в нього нема юзернейму Якщо ми маємо екземпляр користувача, для цього є навіть спеціальні методи ⚠️ Але тут не обійшлося без приколів. Щоб згадування гарантовано спрацювало, потрібно врахувати наступні умови (джерело): » Цю штуку можна вліпити тільки у інлайн-посилання (ось тіпа такого) АБО в кнопку інлайн-клавіатури. Просто відправити посилання як текст не вийде. » Користувач має бути учасником чату, в якому його тегають АБО поспілкуватися з ботом перед цим (відправити приватне повідомлення / натиснути на його кнопку) » Якщо чувак не є учасником чату, окрім попереднього пункту (після АБО), в нього не має бути увімкнена конфіденційність пересилань повідомлень. Перевірити це доволі просто: метод getChat і дивимося параметр has_private_forwards — якщо False, все ок, інакше все хріново. А якщо якась з умов не буде виконана? У випадку з інлайн-посиланням, бот просто відправить текст без посилання. Якщо ж спробувати приліпити айді-кнопку — прилетить помилка TelegramBadRequest. #тег, #згадування, #айді_посилання

1.20 KB

💬 Наш чат » @aiogram_ahegao

😢 UPD: Проблема з хуками повністю не вирішена, рішення яке я запропонував актуальне тільки для випадку, коли події обробляються на фоні. 🛩 За умовою handle_in_background=True BaseRequestHandler відповідає на вхідні запити моментально, відправляючи задачу обробки самої події на фонове виконання. В іншому випадку, телеграм не надішле апдейт допоки не отримає відповідь на попередній запит. 😵 Проблема криється у поточній реалізації прийняття альбому — затримка, під час якої ще є можливість зловити ще пачку повідомлень. 🍍 В якості аналога можу запропонувати рішення Патріка із використанням Pyrogram. Як подружити піро з аіограмом, я розбирав тут у другому розділі. #обробка_подій, #медіагрупи

🧐 Користувач надсилає одразу 5 фоток і бот реагує 5 раз. Це шо за приколи в тг? Насправді так звані "альбоми" існують у телеграмі тільки опосередковано. Кожен елемент медіа-групи — це окреме повідомлення, але вони групуються клієнтами. 👩‍💻 За готовим рішенням можна завітати до мого репозиторію на GitHub. » Нам потрібно буде спизд.. позичити звідти тільки два файли: модель альбому та мідлвар. » Встановити це чудо дуже просто. Як звичайний мідлвар: dp.message.middleware(AlbumMiddleware()) » Якщо у тебе вебхуки, затримка має бути від одної секунди. Просто використовуй допоміжний метод: dp.message.middleware(AlbumMiddleware.webhook_mode()) Або вкажи потрібну тобі затримку самостійно. 🎁 Бонус. Напишемо простий обробник виключно фотографій / відео.
@router.message(F.media_group_id, F.photo | F.video)
async def repeat_media(message: Message, album: Album) -> Any:
    return album.copy_to(chat_id=message.chat.id)
Зверни до уваги, що фільтр на media_group_id обов'язковий, якщо ми очікуємо саме медіа-групу. У випадку, якщо користувач надішле одне медіа, це поле буде пустим.
#обробка_подій, #медіагрупи

Ура, нас 50! 🥳

О, перша реакція клоуна. Так тримати! 😁

😐 Я скачав aiogram, пишу бота і почали падати помилки...
 NameError: name 'Bot' is not defined
 IndentationError: expected an indented block after function definition on line 1
...як вирішити? Я хочу бота!!! 😒
Запевняю. Якщо ти не пропустиш ЖОДНОГО пункту/розділу у цьому пості — освоїти aiogram в кінці буде справді легко.
😌 Просто заспокойся і зрозумій! Без знань Python ти просто витрачатимеш час і нерви. » Давай спочатку ти почитаєш застереження. Якщо готовий вчити Python — ми продовжимо. » В інтернеті є безкоштовні матеріали по пітону. Обирай що до вподоби! — W3Schools (🇬🇧) » Проходимо усі теми від "Python Intro" до "Python Delete Files" — Офіційна документація (🇬🇧) » Бажано почати з 1 та дійти до 9.10 Pythontutor (🇷🇺) » Проходимо усі теми — Pythonworld (🇷🇺) » Теж проходимо усі теми — Real Python / Python Basics (🇬🇧) » Проходимо увесь курс. Сам сайт відвідувати теж буде не зайвим. Там багато матеріалу окрім базового курсу.
Зверни увагу, що всі клікабельні назви ведуть на корисний матеріал. Просто прочитаєш цей пост — толку буде мало. Треба читати й те що я скидаю!
🥳 Ура! Тепер я вмію створювати класи, успадковувати їх та декорувати функції. Що далі? Супер, залишилося зовсім трохи! Повертаючись до застереження, aiogram — асинхронна бібліотека. Якщо слово "асинхронний" поки звучить для тебе як щось незрозуміле, час читати матеріали по asyncio. » Нас буде цікавити High-level API, а конкретніше ця тема. » Якщо офіційної документації замало, заглянемо ще сюди. Нас цікавлять розділи 1-7, 9-10 і 14-18. Інші теж можна почитати, але цього має бути достатньо. 🤔 Диви як можу! Я розумію цей код! Коли вже боти? 😭 Браво! От тепер пора! Зараз порекомендую тобі декілька корисних матеріалів. — 🍐 Книга груші (Groosha) — 📖 Офіційна документація — 💬 Задавати питання сюди (або сюди) — 🌟 Проекти із використанням aiogram — 👩‍💻 Source code фреймворку Пам'ятай. Теорії буде мало — постав собі задачу написати простий пет проект. Сподіваюся, тепер в тебе виникне менше проблем із написанням ботів.
Якщо ви знаєте ще якісь корисні для новачків ресурси, ласкаво прошу у коментарі!
#для_новачків, #python, #готуємося_писати_ботів

Ще одна причина перейти на трійку

Repost from aiogram live
💣 aiogram v3.0 Release Candidate 1 is here! Changelog: https://docs.aiogram.dev/en/dev-3.x/changelog.html#rc1-2023-08-06 If you're still using v2.x, it's time to start migrating to v3.0 because we're getting closer to release! You can install RC version from pypi: pip install -U --pre aiogram

🔞 Якщо в тебе виникла проблема, ти написав про неї у чаті aiogram і я відповів — не треба одразу писати мені у приватні повідомлення. І це стосується не тільки мене. 😴 Замість того щоб кожен учасник спільноти мав змогу приєднатися до діалогу та допомогти, ти навантажуєш одну людину питаннями, яких іноді може виникнути й 20, допоки проблема не вирішиться повністю. 👌 Тобі то, може, й допоможуть, але коли така ж сама проблема виникне у іншого розробника, він не зможе відшукати готове рішення по історії повідомлень чату, як часто роблять. В нього нема доступу до твоїх приватних чатів. ❗️ Прояви шанобливість! Якщо хтось погодився допомогти — не означає, що йому буде зручно спілкуватися з тобою особисто. Він не наймався твоїм репетитором. Спитай спочатку людину у чаті, чи не проти вона на приватний діалог. #правила_спілкування, #як_задавати_питання

🏷 Як дістати ID користувача, знаючи тільки юзернейм? Якщо коротко, у Bot API ніяк. Це доступно тільки у MTProto API (яке використовує Pyrogram) ❌ Але це не означає, що потрібно переписувати на нього бота. Це жахливіша помилка. Якщо ти впевнений, що резолвити юзернейми тобі необхідно, будемо розбиратися, як "піро" подружити з нашим улюбленим фреймворком. Насправді, це дуже легко. » Хріначимо pip install pyrogram » Створюємо свій додаток у Telegram API за офіційною інструкцією » Дивимося цей приклад, щоб ініціалізувати клієнт » Якщо не зрозуміло, як він опинився у стартапі, йдемо читати про впровадження залежностей 🎉 Супер! Пірограм встановлено. Тепер трохи покопаємося у аіограмі. Нас буде цікавити саме поле entities у моделі Message, а якщо точніше, тип ентіті "mention" » Отже, шукаємо сутність згадування у повідомленні звичайною ітерацією, перевіряючи тип » Із знайденого entity робимо .extract_from(message.text) (Більше про це) » Користуємося методом getUsers в доці пірограму 📖 Повний приклад #утиліти, #pyrogram, #entities, #айді_за_згадуванням