🇺🇦Розробка Телеграм ботів на Python
3K subscribers
214 photos
35 videos
6 files
243 links
https://botfather.dev?utm_source=tg_channel
Боти дозволяють автоматизувати майже всі процеси та зробити все це просто в Telegram.
Програмуючи на Python ви зможете реалізувати свої самі шалені ідеї.

Найважливіша інформація тут!
Download Telegram
Хочете більше aiogram-dialog?

Можемо провести стрім, в якому спробуємо створити прості діалоги на 3-й версії aiogram, щоб розібратись що змінилося.

Теоретичну частину не буду особливо охоплювати, бо її проговорили вже у відповідному уроку для 2-й версії aiogram. Хто не бачив — подивиться)

Приблизна дата — Вівторок 5.03.2024.
Forwarded from Підробіток BotfatherDEV
Всім привіт, це Костя!

В мене не вистачає часу на розвиток платформи, щоб охопити всі речі, тому я вирішив створити цей канал, де я буду публікувати різні задачі, з якими мені потрібна допомога.

Для кого цей канал?
- Якщо у вас багато вільного часу
- Якщо ви хочете допомогти проєкту BotfatherDEV
- Якщо ви хочете в майбутньому стати частиною проєкту

💰 Оплата
За деякі задачі я платитиму, але не за всі, для кожної задачі буду відкрито писати як я її оцінюю. Будь ласка, пишіть мені в пп, якщо є бажання з чимось допомогти.
Оцінюйте це в першу чергу як волонтерство)

Якщо берете задачу, за яку оголошено оплату — обов'язково про це мене повідомьте.
Please open Telegram to view this post
VIEW IN TELEGRAM
Пропоную на наступному стрімі побудувати простеньку БД з допомогою SQLAlchemy + Alembic і приєднати в бота 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🇺🇦Розробка Телеграм ботів на Python
Нові історії про Мідлварі для вихідних подій (наприклад, кожен раз, коли БОТ відправляє повідомлення) — вже в каналі.

Код Мідлваря
🇺🇦Розробка Телеграм ботів на Python
Оновив код мідлваря, замінив порівняння типу на isinstance, та сесію отримуємо після того як виконався запит до Телеграму
🇺🇦Розробка Телеграм ботів на Python
Коли проведемо стрім по SQLAlchemy + Alembic в ботах?
П'ятниця так п'ятниця)
Давайте виберемо час.
Тривалість стріму - 2 години мінімум. Вибирайте ВСІ варіанти, що вам підходять)
Final Results
30%
18:00
36%
19:00
52%
20:00
42%
21:00
💻 Стрім про Бази Даних в ботах

📖 Ви дізнаєтесь, як створити Telegram бот з підключенням до бази даних, використовуючи фреймворк aiogram 3 та бібліотеки SQLAlchemy, Alembic та PostgreSQL.

👨‍💻 Код до стріму

🛑 Ми побудуємо просту базу даних, використовуючи SQLAlchemy, і налаштуємо міграції за допомогою Alembic.
🛑 Потім ми інтегруємо базу даних у Telegram бота, написаного на aiogram 3.
🛑Ви дізнаєтесь, як створювати запити до бази даних та взаємодіяти з нею у ботах aiogram. Ми не будемо глибоко вивчати SQL, але зосередимось на правильній інтеграції SQLAlchemy та Alembic у ваш Telegram бот.
🛑Також упакуємо весь проект у Docker контейнер, щоб полегшити розгортання та запуск вашого Telegram бота з базою даних.
Please open Telegram to view this post
VIEW IN TELEGRAM
(Пост згенерований Gemini 1.5, я про сцени ще напишу пізніше):

Розробка Телеграм ботів на Python: Aiogram 3.2.0 - Сцени та інші оновлення! 🎭

Привіт, друзі! 👋
Сьогодні ми розглянемо нову версію Aiogram 3.2.0, яка приносить нам захоплюючу функцію - Сцени (Scenes). 🎬

🎭 Що таке Сцени?
Сцени - це новий спосіб спростити реалізацію покрокової взаємодії з користувачами у ваших ботах. Вони дозволяють вам створювати окремі "сцени" для різних етапів взаємодії, що робить код більш організованим та читабельним.
Наприклад, уявіть, що ви створюєте бота для замовлення піци. 🍕 Ви можете створити окремі сцени для:
• Вибору типу піци
• Вибору розміру
• Додавання начинок
• Оформлення замовлення

Завдяки Сценам, вам не потрібно буде писати купу умовних операторів та перевірок, щоб відстежувати, на якому етапі знаходиться користувач. Ви просто переміщуєте його між сценами, і Aiogram сам подбає про те, щоб показати йому потрібні кнопки та повідомлення.

💡 Інші оновлення:
Сумісність з Python 3.12: Завдяки оновленню aiohttp, Aiogram 3.2.0 тепер сумісний з Python 3.12. 🐍

📝 Детальніше:
Документація по Сценам: https://docs.aiogram.dev/en/dev-3.x/dispatcher/finite_state_machine/scene.html
Список змін: https://docs.aiogram.dev/en/dev-3.x/changelog.html

• Список змін: Changelog
• Встановлення: pip install -U aiogram

🎉 Спробуйте нову версію Aiogram 3.2.0 та поділіться своїми враженнями!
З нетерпінням чекаю на ваші відгуки та питання! 📬
💼 Bot API 7.2 - Інтеграція з бізнес-акаунтами

Telegram Bot API отримав велике оновлення - версію 7.2, яка приносить багато нових можливостей для розробників ботів, особливо для тих, хто хоче працювати з бізнес-акаунтами. 💼

Що це і для чого?
Якщо у вас є преміум підписка, то на поточний момент вам доступні фічі бізнес акаунтів, які тепер включають можливість відповідати БОТОМ від імені вашого акаунту.

Тобто, пишуть вам в особисті, а за вас відповідає бот.

Про API:

📤 Тепер боти можуть від вашого імені надсилати повідомлення, фото, відео, аудіо, документи, стікери, голосові повідомлення, геолокацію, контакти, опитування та ігри від імені бізнес-акаунта, використовуючи параметр business_connection_id у відповідних методах.

🌟 Додано клас BusinessConnection та апдейти, які повідомляють про підключення або відключення бота до бізнес-акаунта. Також додано оновлення для нових повідомлень, редагування та видалення повідомлень у підключеному бізнес-акаунті.

🔍 Додано класи для виведення інформації про бізнес акаунт (розташування, години роботі і все таке).

🎨 Також є деякі оновлення стосовно стікерів, наприклад, можливість завантажувати 120 стікерів в один стікерпак, та використовувати WEBM для відправки стікера, і ще деякі речі.

🕸 WebApp: додано Biometric Manager для можливості використати свій фейс, або палець для доступу до якихось особливих функцій у ваших Веб застосунках)

Мінуси: Боти відповідають від вашого імені, відповідно текстових, інлайн кнопок багато чого ще не таким ботам недоступно.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Як ми розробляємо ботів на замовлення в BotfatherDev ?

Сьогодні буду деплоїти дуже цікавий проєкт бота вартістю більше $2000, над яким працювали в березні разом із командою нашої платформи. Так, ми тепер не тільки курси робимо, а й ботів на замовлення, і плануємо розширятись.

Сам проєкт цікавий тим, що ми працювали командою, від розробки ТЗ (технічного завдання) до деплоя, і цей досвід зовсім інший ніж коли розробляєш все сам, ось чому:

⚖️ Швидкість != Якість. Коли робиш сам, то в тебе більше свободи, більше "простору", не потрібно пояснювати кожний свій крок команді, але водночас і більше простору для помилок, за відсутності проміжного контролю якості.

Отже, команда допомагає створити більше креативних та оптимізованих ідей, і проаналізувати власні, але це ще не все.
Якщо деякі задачі можна запаралелити — час на розробку всього проєкту знизиться, тоді ще і швидкість збільшиться :)

💰 Розробка в команді дорожча? — І так, і ні. З одного боку, ми наче витрачаємо час різних спеціалістів, а раз спеціалістів більше, то значить і часу буде більше.

З іншого боку, в кожного спеціаліста свій рівень оплати, в залежності від його досвіду і рівня відповідальності. Це значить, що замовник може зекономити на тому, що задачі, що виконуються, грамотно розподіляються між учасниками команди.

🛠 Аутсорсинг. До того ж, частину задач можна віддавати на аутсорс, якщо в команді немає необхідного спеца, і це дуже важко робити, якщо ти завжди працюєш один.

🧠 Clean Architecture & SOLID. І хоча я лише почав занурюватись в ці концепції, але вже бачу величезні плюси від цього:
1) легше паралелити задачі між учасниками команди,
2) набагато легше впроваджувати зміни в проєкті.

Дуже раджу всім розро6никам, хто прагне професійно зростати, прочитати про це і пробувати використовувати (хоч якось).


P.S. Детальніше про бота буде в наступному пості.
Please open Telegram to view this post
VIEW IN TELEGRAM
▶️Можна по різному ставитись до Карлсона, але це інтервʼю вийшло дійсно цікавим, відкрилися деякі цікаві речі з життя Павла, про створення Телеграма та їхньої місії.

Загалом, я не почув дуже багато того, що вже не було б опубліковано самим Павлом в себе в каналі, або десь ще, але мені сподобалося.

🤞Чесно, в мене дуже багато сумнівів щодо того, що російське керівництво дійсно «не впливає на рішення всередині Телеграм», як він стверджує, але принаймні бачення в нього таке — свобода слова і приватність в першу чергу. Хочеться в це вірити.

🇺🇸 Менше з тим, помітно, що Павел дуже серйозно націлився на ринок США. Ймовірно ми побачимо тут більше американців, і можливо на ботів буде ще більший попит 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🇺🇦Розробка Телеграм ботів на Python
https://www.youtube.com/watch?v=gBEOJRvZ-wI
-39:30 — Стікери будуть токенизовані (можна буде продавати за TON?), так само як і юзернейми і анонимні телефони зараз.
🐍 Ви запустили першого не-ехо бота і отримали довжелезний трейсбек?

🤔 Що робити? Як його читати? І як це пов'язано за патерном програмування `Observer`?
Про це ми підготували цілих 2 статті!

File "/botfatherdev-articles/event-observer/examplebot/venv/lib/python3.10/site-packages/aiogram/dispatcher/dispatcher.py", line 309, in _process_update
response = await self.feed_update(bot, update, **kwargs)

...

File "/botfatherdev-articles/event-observer/examplebot/venv/lib/python3.10/site-packages/aiogram/dispatcher/router.py", line 148, in _propagate_event
response = await observer.trigger(event, **kwargs)

😣 хочете розібратися, що саме означають усі ці виклики і дізнатися, чому ж їх так багато, а основне - для чого?

🔗 запрошую розібратися з патерном програмування Observer, який і є причиною ваших страждань (а, може, насправді, навпаки, спрощує вам життя?).

😎 а якщо ви вже розумієте, що таке Спостерігач, то можете одразу глянути другу частину статті, де ми розібрали як саме цей патерн програмування використовується в aiogram 3.

P.S. дякую @FleshkaXDude за статті!
Please open Telegram to view this post
VIEW IN TELEGRAM