Потрапив на відео в одного блогера, що робить багато оглядів на ШІ новинки, а також пише код на Python та React.
Він як раз спробував цей Cursor, кому цікаво:)
🎨 Це дійсно крута новина!
💡 Для розробників ботів та веб-застосунків це чудова можливість:
• Створити унікальні аватарки для акаунтів ботів
• Згенерувати іконки для інтерфейсу (якщо вебапп)
• Розробити привабливі банери для реклами вашого бота
🏠 Але не обмежуйтесь лише роботою! Ось ідеї для повсякденного життя:
• Створіть унікальні шпалери для свого смартфона чи комп'ютера
• Згенеруйте аватарку для соцмереж
• Зробіть оригінальну листівку до дня народження друга
✨ Лайфхак для створення промптів:
Якщо важко придумати гарний промпт (запит до ШІ), скористайтесь безкоштовними версіями ChatGPT або Claude.ai.
🤔 Хто планує спробувати? Поділіться, для чого б ви використали ці 25 безкоштовних запитів - в роботі чи для особистих цілей?
🚀 Оптимізація високонавантаженого бота: Частина 2
Тепер поговоримо про те, як ми вирішували ці проблеми і яких результатів досягли.
🛠 Процес оптимізації
1. Кешування:
- Ми частково перенесли взаємодію з базою даних на Redis. Це дозволило значно прискорити обробку запитів.
- Деякі запити, які не потребують миттєвого оновлення, ми винесли в кеш.
2. Аналіз та оптимізація запитів:
- Ми використовували EXPLAIN ANALYZE
в PostgreSQL для виявлення неефективних запитів.
- В одному випадку ми виявили, що запит, який мав займати до 100 мілісекунд, виконувався 30 секунд через непомітну помилку в запиті, який створила ORM (Порада: Перевіряйте запити, які вона генерує, якщо вони складні).
- В іншому випадку (мал. 1-2) виявилось в яких місцях потрібно створити індекси в БД, що прискорило обробку запитів пов'язаних із завданнями в ~800 разів.
3. Оптимізація взаємодії з Telegram API:
- Ми зменшили кількість непотрібних запитів до Telegram API, що значно покращило швидкість роботи бота, і знизило кількість помилок TelegramRetryAfter.
4. Повна переробка UX:
- Ми переробили всього бота, щоб зробити його набагато зручнішим для використання.
5. Горизонтальне масштабування:
- Ми зробили ботів stateless з можливістю підняття багатьох реплік, що дозволило ефективно горизонтально масштабувати.
6. Моніторинг та логування:
- Ми перенесли логи і статистику в Grafana, а помилки сипляться в Sentry для кращого відстеження продуктивності та швидкого виявлення проблем.
💡 Ключові уроки
1. Важливість планування: Правильне проектування бази даних з самого початку може заощадити багато часу в майбутньому.
2. Постійний моніторинг: Регулярний аналіз продуктивності допомагає виявляти проблеми на ранніх стадіях.
3. Балансування рішень: Іноді доводиться шукати компроміс між ідеальною структурою та ефективністю.
4. Важливість кешування: Правильно налаштоване кешування може значно покращити продуктивність.
5. Аналіз запитів: Використання інструментів на кшталт EXPLAIN ANALYZE є критично важливим для оптимізації.
😴Сон і навчання: як максимізувати ефективність
Привіт! сьогодні трохи про те, як правильний сон може покращити ваше навчання програмуванню (і не тільки).
🧠 Чому це важливо?
1. Підготовка мозку: Гарний сон перед навчанням допомагає мозку "перезавантажитись" і підготуватися до нової інформації.
2. Закріплення знань: Сон після навчання сприяє кращому засвоєнню матеріалу. Під час сну мозок активно обробляє нові знання.
🔬Що відбувається у мозку під час сну?
• 🔄 Консолідація пам'яті: Під час сну, особливо у фазі повільного сну, мозок перекладає короткотривалу пам'ять у довготривалу. Це допомагає краще запам'ятовувати вивчений матеріал.
• 🧹 Очищення мозку: Під час сну активується лімфатична система, яка виводить токсини та відходи з мозку. Це допомагає "освіжити" мозок для нового дня навчання.
• 🔗 Створення нових зв'язків: У фазі швидкого сну (REM) мозок створює нові нейронні зв'язки, що сприяє запам'ятовуванню, креативності та вирішенню проблем.
• 📊 Оптимізація інформації: Мозок сортує та організовує інформацію, отриману протягом дня, відкидаючи неважливе та зберігаючи ключові моменти.
🌙 Як покращити якість сну?
• 🕰 Спіть 7-9 годин (залежно від вашої індивідуальної потреби)
• 🍽 Не їжте і не пийте алкоголь за 1-2 години до сну
• 🔦 Уникайте яскравого світла вночі (а також світла телефону)
• 🔄 Дотримуйтесь регулярного режиму сну
💻 Як це застосувати до навчання програмуванню?
• 📅 Плануйте важливі навчальні сесії після доброго нічного сну
• 🧘♂️ Робіть короткі перерви під час навчання, вони допомагають завоювати нову інформацію "у фоні", навіть поки ви про неї не думаєте.
• 💤 Якщо застрягли на складній задачі, спробуйте "переспати) з нею" - часто рішення приходить після доброго сну
Додатково: відео
⚡️INFO Для тих — хто використовує aiogram-i18n
🔥 Є перша робоча версія екстрактора ключів i18n
з .py
коду.
👀 Інструмент поки що на стадії тестування, проте вже активно використовується мною у двох проектах. Один із проектів містить понад 1_000 FTL ключів.
⭐️ Інструмент підійде тим — хто тільки почав писати проект і хоче використовувати екстраткор ключів на базі чистого libcst
+fluent.syntax
без страшного Regex
.
❗️Дуже рекомендовано вести GIT репозиторій для свого проекту у разі якщо ви допустите помилки у аргументах команд інструменту або інструмент буде поводитись не так як треба. За допомогою GIT можна буде відновити стан файлів локалізації у разі чого.
📌 Є 2 способи використовувати інструмент:
1. Стандартний режим, коли всі ключі пишуться у locales/{locale}/_default.ftl
2. Ручний, вказуючи _path
у i18n.get("key", _path="ftl_path.ftl")
- [FAQ] Як користуватись інструментом
- Репозиторій FTL-Extract
⭐️ Тепер можна купувати Telegram Stars через Fragment
Виявляється, там ціни на 35% нижчі, ніж в iOS чи Android. Я для прикладу глянув, скільки коштує 10,000 зірок (ну, або 4 пачки по 2,500).
І ось що вийшло:
- У Telegram Desktop: 7596 грн
- В iOS/PlayStore: аж 9836 грн
- А на Fragment: 6438 грн!
Коротше, якщо берете через Fragment, можна нормально так зекономити.
До речі, в Telegram Desktop ціна за зірку падає, якщо берете більше. А от в iOS та Android ціна майже не змінюється, хоч бери 50 зірок, хоч 2500.
І ось ще цікавий момент: якщо ми, девелопери ботів, отримуємо $0.013 (0.53 грн) за зірку, то ціна зірки на Fragment (0.64 грн за зірку) на 20.75% вища від тієї, яку отримуємо ми.
Але купувати треба саме на Фрагменті, що далеко не для всіх зручно. А для транзакційних бізнес моделей (де накрутка <5%) — це взагалі неприпустима комісія.
💡 Ви ще думаєте, чи варто приєднатися до нашого FullStack інтенсиву? Давайте розглянемо, що на вас чекає:
🌟 Чому варто приєднатись:
- Практичний підхід: Ми будуємо реальний, цікавий проєкт з нуля, який ви зможете додати до свого портфоліо. Ви зможете взяти участь у розробці нового WebApp, який ми плануємо далі розвивати!
- Топовий стек: ReactJS, Python, Git, aiogram, FastAPI, PostgreSQL, SQLAlchemy, Alembic — все, що потрібно сучасному FullStack розробнику.
- Підтримка: Ми завжди поруч, щоб відповісти на ваші питання і допомогти довести проєкт до кінця.
📉 Спеціальні знижки:
- Запишіться і оплатіть протягом 2 тижнів - знижка 50$.
- Також, якщо ви знаходитесь в одному з наших чатів, то отримуєте додаткову знижку 20$:
- @bot_devs_novice
- @botoid
- @aiogramua
- @aiogram_pcr
📝 Як підготуватись: Основи HTML, CSS, JS та ReactJS. Матеріали для підготовки надаються після оплати.
🔙 Попередній пост
📲 Записатись: @latand
💳 Оплата: Тут. За купонами — в пп
Чекаємо на вас! 🚀
⭐️ Telegram stars #цікаве
👉 Телеграм зірки - валюта в телеграм, яку можна купувати за реальні гроші та витрачати в месенжері на різні речі
🏆 Переваги у використанні зірок
• Зручність - на відмінну від інших способів оплати, використання зірок набагато зручніше як для користувача так і для сервісу. Користувач може легко поповнити свій баланс зірок через банківську карту (якщо телеграм завантажено з офіційного сайту) чи у Play Market або App Store. Проведення оплати можна зробити в декілька дотиків
• Легка можливість повернення зірок назад на баланс клієнту за допомогою ідентифікатору транзакції
• За допомогою зірок можна оплачувати Telegram Ads та переводити їх в реальні гроші
😔 Неприємні моменти використання зірок
• Всі цифрові товари, які можна придбати в твоєму сервісі повинні оплачуватись виключно за допомогою зірок (це не стосується фізичних товарів). Тобто, якщо ти продаєш цифрові товари іншими способами, то телеграм може частково (на окремих платформах) або повністю заблокувати доступ до твого сервісу. Теоретично, процес перевірки можна автоматизувати неможливо, тому це стосується тільки дуже великих проектів у яких є відповідні товари. Це означає, що маленькі сервіси можуть проводити оплату будь-яким способом, але я не рекомендую подібні способи
• Комісія при оплаті зірками від 30% і більше, що руйнує деякі бізнес моделі
• Твій сервіс повинен брати на себе відповідальність за обслуговування клієнтів і повністю сам вирішувати спірні моменти
• Переведення зірок у реальні гроші буде доступно через 21 день після їх отримання сервісом. Це буде пов'язано з криптовалютою і такий механізм працюватиме на платформі Fragment. Поки що, реальних переведень зафіксовано не було, тому деталі невідомі
• Зірки мають час життя в 3 роки з дати їх отримання і якщо їх не витратити, то вони автоматично спишуться з балансу
💭 Поки що, придбати зірки можна лише під час спроби оплатити чек. Також, зірки йдуть не на баланс власника бота, а на баланс самого бота, який зараз подивитись не можна
👀 Як цим користуватись?
📌 Важливо не забути додати апдейт типу pre_checkout_query
в дозволені, бо він не встановлюється за замовчуванням
⬇️ Простий приклад коду для створення чеку на оплату 5 зірок (або посилання)
from aiogram import Router, F, Bot
from aiogram.filters import Command
from aiogram.types import Message, PreCheckoutQuery
router = Router()
@router.message(Command('start'))
async def create_invoice(msg: Message):
await msg.answer_invoice(
title="Title",
description="Description",
payload="payload",
currency="XTR", # XTR only, don't change
prices=[
LabeledPrice(label="label", amount=5), # 5 telegram stars
],
)
@router.pre_checkout_query()
async def checkout_handler(checkout_query: PreCheckoutQuery):
await checkout_query.answer(ok=True)
@router.message(F.successful_payment)
async def star_payment(msg: Message, bot: Bot):
await bot.refund_star_payment( # for testing auto-recovery of funds
msg.from_user.id,
msg.successful_payment.telegram_payment_charge_id,
)
# What actions, such as:
# - adding a transaction to the database
# - opening access to paid functions
await msg.answer(f"Your transaction id: {msg.successful_payment.telegram_payment_charge_id}")
Хто хоче навчитись робити WebApp 📲?
Планую через місяць запустити новий FullStack інтенсив, на якому почати будувати один дуже цікавий проєкт.
💰Інтенсив платний: 200$
🗓 Триватиме: 10-12 уроків протягом 6 тижнів (до 24г лекцій + самостійна робота).
👨💻 Стек: ReactJS, Python; FastAPI, SQLAlchemy, Alembic.
👥 Хто хоче записатись: @latand
Оплата тут.
🎟 Знижки (писати в пп)
- Хто запишеться і оплатить протягом 2х тижнів - знижка 50$.
- Для учасників чатів додаткова знижка 20$:
- @bot_devs_novice
- @botoid
- @aiogramua
- @aiogram_pcr
Старт не раніше 10.07.2024
P.P.S. До інтенсиву треба буде підготуватися по основам HTML, CSS, JS та ReactJS. Матеріали для підготовки надаю після оплати
Introducing Payments for Digital Goods and Services
With the upcoming Telegram update, your bots and mini apps will be able to sell digital goods and services.
To allow for this change in compliance with third-party store terms, we are rolling out a new in-app currency, Telegram Stars. Users will soon be able to acquire Stars from Telegram using standard Apple and Google in-app purchases and then use them to buy digital goods and services from you.
All payments for digital goods and services have to be carried out exclusively in Telegram Stars. If digital goods and services can be purchased for your bot or mini app on other platforms, like your external website, the same goods and services must also be available for purchase with Telegram Stars, in compliance with Apple Review Guideline 3.1.3(b).
To accept payments for digital goods and services, starting with Bot API 7.4, you can use the sendInvoice or createInvoiceLink methods with the currency
field set to "XTR" and the provider_token
field left empty. To refund payments, you can use the refundStarPayment method.
💎 Developers will be able to withdraw Telegram Stars using the TON blockchain.
⚠️ Payments for physical goods and services are unaffected by this change and can continue operating as usual.
Along with these changes, Bot API 7.4 adds even more improvements for all bots, like:
• Support for visual effects, which bots can attach to messages via the new message_effect_id
parameter.
• Support for expandable blockquote text entities.
• Captions that can be shown above the respective media via the new show_caption_above_media
parameter.
• And more, see the full changelog for details.
Привітайте мене, ChatGPT Markdown to Telegram HTML Parser — мій перший проєкт опублікований на PyPI.
Нагадаю, ця бібліотека допоможе вам конвертувати текст, відформатований у Markdown, у HTML-розмітку, яку підтримує Telegram Bot API. Він розроблений спеціально для використання в ChatGPT ботах, створених з використанням OpenAI API.
Ви можете встановити пакет за допомогою pip:
pip install chatgpt-md-converter
from chatgpt_md_converter import telegram_format
formatted_text = telegram_format("Here is some **bold**, __underline__, and `inline code`.\n```python\nprint('Hello, world!')\n")
print(formatted_text)
-39:30 — Стікери будуть токенизовані (можна буде продавати за TON?), так само як і юзернейми і анонимні телефони зараз.
Читать полностью…▶️Можна по різному ставитись до Карлсона, але це інтервʼю вийшло дійсно цікавим, відкрилися деякі цікаві речі з життя Павла, про створення Телеграма та їхньої місії.
Загалом, я не почув дуже багато того, що вже не було б опубліковано самим Павлом в себе в каналі, або десь ще, але мені сподобалося.
🤞Чесно, в мене дуже багато сумнівів щодо того, що російське керівництво дійсно «не впливає на рішення всередині Телеграм», як він стверджує, але принаймні бачення в нього таке — свобода слова і приватність в першу чергу. Хочеться в це вірити.
🇺🇸 Менше з тим, помітно, що Павел дуже серйозно націлився на ринок США. Ймовірно ми побачимо тут більше американців, і можливо на ботів буде ще більший попит 😎
💼 Bot API 7.2 - Інтеграція з бізнес-акаунтами
Telegram Bot API отримав велике оновлення - версію 7.2, яка приносить багато нових можливостей для розробників ботів, особливо для тих, хто хоче працювати з бізнес-акаунтами. 💼
❓Що це і для чого?
Якщо у вас є преміум підписка, то на поточний момент вам доступні фічі бізнес акаунтів, які тепер включають можливість відповідати БОТОМ від імені вашого акаунту.
Тобто, пишуть вам в особисті, а за вас відповідає бот.
Про API:
📤 Тепер боти можуть від вашого імені надсилати повідомлення, фото, відео, аудіо, документи, стікери, голосові повідомлення, геолокацію, контакти, опитування та ігри від імені бізнес-акаунта, використовуючи параметр business_connection_id
у відповідних методах.
🌟 Додано клас BusinessConnection та апдейти, які повідомляють про підключення або відключення бота до бізнес-акаунта. Також додано оновлення для нових повідомлень, редагування та видалення повідомлень у підключеному бізнес-акаунті.
🔍 Додано класи для виведення інформації про бізнес акаунт (розташування, години роботі і все таке).
🎨 Також є деякі оновлення стосовно стікерів, наприклад, можливість завантажувати 120 стікерів в один стікерпак, та використовувати WEBM для відправки стікера, і ще деякі речі.
🕸 WebApp: додано Biometric Manager для можливості використати свій фейс, або палець для доступу до якихось особливих функцій у ваших Веб застосунках)
➖ Мінуси: Боти відповідають від вашого імені, відповідно текстових, інлайн кнопок багато чого ще не таким ботам недоступно.
💻 Стрім про Бази Даних в ботах
📖 Ви дізнаєтесь, як створити Telegram бот з підключенням до бази даних, використовуючи фреймворк aiogram 3 та бібліотеки SQLAlchemy, Alembic та PostgreSQL.
👨💻 Код до стріму
🛑 Ми побудуємо просту базу даних, використовуючи SQLAlchemy, і налаштуємо міграції за допомогою Alembic.
🛑 Потім ми інтегруємо базу даних у Telegram бота, написаного на aiogram 3.
🛑Ви дізнаєтесь, як створювати запити до бази даних та взаємодіяти з нею у ботах aiogram. Ми не будемо глибоко вивчати SQL, але зосередимось на правильній інтеграції SQLAlchemy та Alembic у ваш Telegram бот.
🛑Також упакуємо весь проект у Docker контейнер, щоб полегшити розгортання та запуск вашого Telegram бота з базою даних.
Схоже що зараз хайпує нова IDE — Cursor.
Це редактор коду на базі VS Code з нативно вбудованим ШІ.
Будете пробувати?) я — планую)
🚨🚨🚨 Midjourney знову безплатний — розробники тільки но релізнули повноцінну веб-версію та повернули free trial на 25 зображень 💃
ооо нейромережеве
🚀 Оптимізація високонавантаженого бота.
Привіт! Сьогодні хочу поділитися з вами історією одного з наших проектів — мультибота для піару, над яким ми з командою працювали протягом останніх місяців.
До нас звернувся замовник, який попросив оптимізувати бота, бо він відповідав дуже повільно, а проєкт треба було розвивати, додавати нові фічі. Цей бот став для нас не просто черговим завданням, а справжнім викликом, який навчив нас багато чому.
🤖 Що робить цей бот?
Наш бот (@gram_piarbot) — це багатофункціональний інструмент для піару в Telegram. Ось його основні можливості:
1. Піар каналів та груп: Користувачі можуть просувати свої канали, групи та пости.
2. Віртуальна валюта: За виконання завдань з піару користувачі отримують віртуальну монету GRAM (не плутати з криптовалютою).
3. Бусти: Власники Telegram Premium можуть "заряджати" канали або групи, отримуючи за це віртуальні монети.
4. Обов'язкова підписка: Адміністратори груп можуть встановлювати обов'язкову підписку на певні канали для участі в обговореннях.
📊 Масштаби та виклики
Цей бот вже був дуже популярним, коли мене попросили його переписати, щоб оптимізувати його роботу.
⚠️ Зараз в боті досягається 100-250 запитів в секунду (мал. 2).
🏗 Початковий стан — Коли ми отримали бота, він був у такому стані:
- Весь код був написаний в одному файлі (понад 5000 рядків)
- Використовувався aiogram 2
- Взаємодія з базою даних була синхронною (pewee)
🔄 Перша спроба оптимізації — Ми вирішили повністю переписати бота, використовуючи сучасні технології:
- Перейшли на асинхронну SQLAlchemy
- Оновили до aiogram 3
- Впровадили NATS, Kafka для обробки апдейтів, і для виконання завдань
- Перевели бота на вебхуки
Але... несподівано бот став працювати ще повільніше! 😱
⚠️ Ключові проблеми:
1. Повільна робота бази даних: Наш початковий підхід не справлявся з високим навантаженням.
2. Неефективні ORM запити: SQLAlchemy іноді генерувала помилкові запити, що сильно сповільнювало роботу.
У наступному пості розповім про те, як ми вирішували ці проблеми та які уроки винесли з цього досвіду.
А поки що, поділіться в коментарях: чи стикалися ви з подібними проблемами при оптимізації високонавантажених ботів? Які підходи ви використовували? 👇
🚀 Останній шанс приєднатися до FullStack інтенсиву! 🚀
📣 Старт вже цього понеділка! Не пропустіть можливість стати частиною захоплюючого проєкту!
🎯 Що ми будуємо?
Прототип справжньої фріланс-платформи, яку я планую запустити до кінця літа! Ви не просто навчитеся - ви побачите, як створюється реальний продукт з нуля.
🖥️ Ось що на вас чекає:
1. Створення інтуїтивного інтерфейсу для замовлення ботів
2. Розробка системи вибору функціоналу та особливостей бота
3. Реалізація системи оплат та розсилки користувачам
💡 Чому варто приєднатися саме зараз:
- Практичний досвід роботи над реальним проєктом
- Можливість стати частиною команди, що запускає новий продукт
- Навчання на основі актуальних технологій та методологій
🎁 Бонус:
Доступ до найпотужнішої моделі GPT-4о через мого бота @GPT_DialogBot для навчання!
📅 Деталі курсу:
- Початок: Цей понеділок (22.07)
- Перший модуль: Розробка бекенду
- Вартість: 200$ (з можливістю знижок)
- Тривалість: ~12 занять протягом 6 тижнів
💳 Оплата:
- За посиланням
- Криптовалютою через @wallet або @send
🏷️ Знижки:
- Купони на 20% знижки для учасників групи (звертайтесь у приватні повідомлення)
🔥 Не втрачайте шанс стати частиною чогось великого!
📲 Для запису та додаткової інформації: @latand
Приєднуйтесь до нас і станьте FullStack розробником вже цього літа! 🌟
Ого, за ранок ціна за зірки в TON змінилася, підросла. Перерахував з урахуванням поточного курсу.
Стало на 1.5% дорожче ніж було на Fragment.
Отже, ціна на зірки в TON — плаваюча, але зафіксована в USD.
🕸 Як налаштувати сервер? Deploy. Docker. Ubuntu
Колись я писав вже пост, але хочу нагадати про те, що в нас є стаття про налаштування сервера.
Я думаю дуже багато з вас стикаються з тим, що колись треба орендувати сервер, зайти на нього і завантажити бота, запустити.
❓ І що ви тоді робите?
Знаєте всі команди напам'ять? Шукаєте статтю на Digital Ocean? Пишете в СhatGPT?
До речі, як влучно підмітив Юра, 1 зірка приблизно це 1 гривня, і дуже зручно оцінювати скільки щось коштує, якщо просто замість "X зірок" подумати "Х гривень".
А картинка — це про те, скільки комісії беруть собі Apple/Google, Telegram. Тобто ціна 1 Telegram Star буде різною в залежності від того клієнта Телеграм, ДЕ її купувати.
Інакше кажучи, якщо не хочете, щоб ваша послуга коштувала +30% для юзерів — кажіть їм купляти з комп'ютера, а не з телефона.
Telegram Stars вже в ChatGPT
Нарешті я доробив магазин токенів всередині свого бота, а з інтеграцією Telegram Stars покупки в боті мають стати набагато зручнішими.
Спробуйте, мінімальна покупка - 2 зірки, а якщо будуть якісь проблеми - можу повернути (присилайте айді транзакції @latand)
Хочете стрім по тому, як це додати в свого бота?
📹 Відео: База по Python. Вбудовані функції, всі 71шт.
Дуже раджу всім згадати які є, і що роблять)
Всі вже в курсі про GPT-4o від OpenAI💭?
Привітайте наш кастомний GPT для розробки ботів на aiogram 3 🐍!
🤔 Чому це важливо? А тому, що нова моделька GPT-4o:
- Нарешті знає щось про aiogram 3!
- Менше відмовляється писати повний код.
- Друкує код дуже швидко.
- Доступна безкоштовно*!
Раніше GPT-3.5 і GPT-4 дуже погано писали код на aiogram, а aiogram 3 вони взагалі не знали. і постійно вигадували щось своє.
Ми в Botfather.DEV 🌟 попрацювали, щоб створити багато прикладів коду, і запхати документацію по 3-й версії, щоб зробити її відповіді ще трохи кращими.
Спробуйте і будь ласка залишайте рейтинги і відгуки!
P.S. на жаль, не завжди воно дивиться на приклади коду, можливо іноді треба буде нагадати якось так:
подивись в базу знаньЧитать полностью…
🐍 Ви запустили першого не-ехо бота і отримали довжелезний трейсбек?
🤔 Що робити? Як його читати? І як це пов'язано за патерном програмування `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)
🌟 Як ми розробляємо ботів на замовлення в BotfatherDev ?
Сьогодні буду деплоїти дуже цікавий проєкт бота вартістю більше $2000, над яким працювали в березні разом із командою нашої платформи. Так, ми тепер не тільки курси робимо, а й ботів на замовлення, і плануємо розширятись.
Сам проєкт цікавий тим, що ми працювали командою, від розробки ТЗ (технічного завдання) до деплоя, і цей досвід зовсім інший ніж коли розробляєш все сам, ось чому:
⚖️⏱ Швидкість != Якість. Коли робиш сам, то в тебе більше свободи, більше "простору", не потрібно пояснювати кожний свій крок команді, але водночас і більше простору для помилок, за відсутності проміжного контролю якості.
Отже, команда допомагає створити більше креативних та оптимізованих ідей, і проаналізувати власні, але це ще не все.
Якщо деякі задачі можна запаралелити — час на розробку всього проєкту знизиться, тоді ще і швидкість збільшиться :)
💰 Розробка в команді дорожча? — І так, і ні. З одного боку, ми наче витрачаємо час різних спеціалістів, а раз спеціалістів більше, то значить і часу буде більше.
З іншого боку, в кожного спеціаліста свій рівень оплати, в залежності від його досвіду і рівня відповідальності. Це значить, що замовник може зекономити на тому, що задачі, що виконуються, грамотно розподіляються між учасниками команди.
🛠 Аутсорсинг. До того ж, частину задач можна віддавати на аутсорс, якщо в команді немає необхідного спеца, і це дуже важко робити, якщо ти завжди працюєш один.
🧠 Clean Architecture & SOLID. І хоча я лише почав занурюватись в ці концепції, але вже бачу величезні плюси від цього:
1) легше паралелити задачі між учасниками команди,
2) набагато легше впроваджувати зміни в проєкті.
Дуже раджу всім розро6никам, хто прагне професійно зростати, прочитати про це і пробувати використовувати (хоч якось).
P.S. Детальніше про бота буде в наступному пості.
(Пост згенерований 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 та поділіться своїми враженнями!
З нетерпінням чекаю на ваші відгуки та питання! 📬
Оновив код мідлваря, замінив порівняння типу на isinstance, та сесію отримуємо після того як виконався запит до Телеграму
Читать полностью…