botfatherdev | Unsorted

Telegram-канал botfatherdev - 🇺🇦Розробка Телеграм ботів на Python

2969

https://botfather.dev?utm_source=tg_channel Боти дозволяють автоматизувати майже всі процеси та зробити все це просто в Telegram. Програмуючи на Python ви зможете реалізувати свої самі шалені ідеї. Найважливіша інформація тут!

Subscribe to a channel

🇺🇦Розробка Телеграм ботів на Python

🚀 SQLAlchemy: ПОТУЖНІ query_expression() в ORM

Привіт! Нещодавно на одному з проєктів зіткнувся з цікавою задачею — потрібно було додати до моделі кількість завершених/заброньованих завдань.

💡 Проблема субзапитів
Раніше для отримання кількості заброньованих завдань я використовував subquery або додатковий запит, і повертав tuple[Task, int]. Це створювало декілька незручностей:
• Необхідність розпаковувати кортеж у коді: task, booked_count = result
• Додаткова обробка результатів запиту
• Неможливість напряму використовувати поле в моделі

⚡️ Елегантне рішення з query_expression()

З query_expression все стало набагато чистіше. Ось як це виглядає:

class Task(Base, TableNameMixin):
# ... інші поля ...
total_booked: Mapped[int] = query_expression()

# Створюємо subquery для підрахунку
booked_tasks_subq: ScalarSelect[int] = (
select(func.count(TaskBooking.booking_id))
.where(
TaskBooking.task_id == Task.task_id,
)
).scalar_subquery()

task_stmt = select(Task).options(selectinload(Task.subscription_task))
...

# Застосовуємо with_expression до основного запиту
task_stmt: Select[Tuple[Task]] = task_stmt.options(
with_expression(
Task.total_booked,
booked_tasks_subq,
),
)


🔍 Що ми отримуємо

Тепер замість роботи з кортежами ми маємо:
• Типізоване поле прямо в моделі
• Доступ до значення через task.total_booked
• Один SQL запит замість окремого subquery
• Чистіший та зрозуміліший код

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

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

2 найпростіші задачки з AOC 2023 успішно вирішило. Значить надія є.

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🎮 AI vs Advent of Code: Стрімимо рішення задач з штучним інтелектом!

Хочу також поділитися з вами цікавою ідеєю експерименту. Цього року вирішив пройти Advent of Code не самостійно, а повністю довірити рішення задач штучному інтелекту, і показати весь процес у прямому ефірі! Буде цікаво побачити, як різні AI моделі справляються з алгоритмічними задачами.

🤖 Що таке Advent of Code?
Для тих, хто не знає — це щорічний програмістський челендж, який проходить з 1 по 25 грудня. Кожного дня відкривається нова задачка, яку потрібно вирішити за допомогою програмування. Задачі стають складнішими з кожним днем, і часто потребують креативного підходу до їх вирішення.

📝 Формат експерименту
• Щодня будемо вирішувати нову задачу в прямому ефірі
• Використовуватимемо Cursor IDE з різними AI моделями
• Показуватиму, як ефективно юзати Cursor
• Разом будемо аналізувати запропоновані рішення та їх ефективність (тут вже ваш вихід, бо я в алгоритмах - 0)
• Якщо різні ШІ модельки будуть нездатні вирішити задачі з 2-3х спроб — ми закінчуємо стрім.

🔧 Технічні деталі
• Стріми проходитимуть щоденно (час визначатиметься індивідуально)
• Тривалість: 15 - 60хв.
• Використовуватимемо Cursor IDE з різними моделями AI
• Код публікуватиметься в GitHub репозиторії
• Кожен стрім буде записано для тих, хто не зможе дивитися наживо
• Мова стріма - англійська

💡 Чому це буде цікаво?
- Побачимо реальні можливості AI в розв'язанні алгоритмічних задач
- Навчимося ефективно формулювати запити до AI
- Порівняємо різні підходи та моделі
- Зможемо разом обговорити кожне рішення

Перший стрім заплановано на 1 грудня! Посилання на трансляцію буде опубліковано в нашому каналі!

🤔 А як ви вважаєте, чи зможе AI самостійно вирішити всі задачі Advent of Code? Поділіться своїми прогнозами в коментарях! І не забудьте підписатися на сповіщення про початок стрімів 🔔

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

До речі, якщо раптом комусь сподобався фон

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

http://telegram.org/blog/fullscreen-miniapps-and-more

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🔥 Новий промпт для потужнішої роботи Cursor IDE

Привіт, друзі! Сьогодні поділюся цікавою знахідкою — промптом для Cursor IDE, який я розробив після експериментів з системними інструкціями для різних LLM моделей.

💡 Як з'явився цей промпт
Працюючи з Cursor IDE та Claude 3.5, я помітив, що стандартні відповіді іноді не враховують повний контекст проєкту, або код просто не тої якості, що я хочу. Тому я вирішив створити промпт, який змушує AI-асистента спочатку аналізувати код, а потім планувати зміни.

🛠 Що особливого в цьому промпті?
• Структурований аналіз існуючого коду
• Покроковий план змін
• Пояснення прийнятих рішень
• Фокус на чистоті коду і застосування SOLID

⚡️ Історія покращення
Для оптимізації промпту я використав новий інструмент від AnthropicClaude's Prompt Improver. Це корисна штука, яка допомагає:
1. Стандартизувати формат прикладів
2. Додавати логіку "ланцюжка думок"
3. Покращувати структуру інструкцій
4. Уточнювати формат виводу

⚙️ Як встановити:
1. Натисніть CTRL + Shift + P
2. Введіть cursor settings
3. Знайдіть розділ Rules for AI
4. Вставте промпт з файлу нижче

Результат
З цим промптом Claude 3.5 в Cursor IDE став генерувати більш продуманий код. Особливо помітно покращився аналіз існуючого коду та дотримання патернів.

Промпт дивіться у коментарях до цього посту. Спробуйте та поділіться враженнями)

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Stack: Grafana + InfluxDB

Також, є мідлварь в боті на те щоб цю інформацію передавати

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

До попереднього посту.

Як лочився редіс

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

✈️ aiogram 3.14.0 is here

🆕Added full support of Bot API 7.11
⚡️Checked compatibility with Python 3.13
⚠️Dropped compatibility with Python 3.8 as mentioned before.

Full changelog: https://docs.aiogram.dev/en/stable/changelog.html

You can install this version from pypi: pip install -U aiogram

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Bot API 7.11

Bots can now participate in revenue sharing from Telegram Ads ⭐️ – unlocking a new way to help support their development.
Introduced Paid Broadcasts ⭐️ – allowing bots to broadcast up to 1000 messages per second.

Bots can now send and receive chat-specific hashtags that only show posts and stories from a specific chat when tapped.
Added a new inline button to let users copy text in one tap.
Bots can now add media to existing text messages.

And more, see the full changelog for details:

https://core.telegram.org/bots/api-changelog#october-31-2024

⚠️ Warning: Starting December 1, 2024 messages with video posted in big communities can be delayed by the server until the respective video is reencoded. Read more here.

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🚀 Більше оптимізації SQL-запитів. В 10 разів швидше, і чому не варто сліпо довіряти ШІ 😅

💡 Історія почалася з того, що я вирішив оптимізувати деякі SQL-запити в боті @gram_piarbot, приблизно 2 місяці тому, і звернувся за порадою до GPT-4o. Модель впевнено порекомендувала використовувати CTE (Common Table Expressions) замість звичайних підзапитів.

⚡️ Спочатку все здавалося нормальним - запити працювали, швидкість начебто та сама, майже не було різниці, може навтіь трохи швидше. Але коли наша база підросла і навантаження збільшилося... От тоді почалося найцікавіше!

🤖 Ось дуже приблизно, як виглядав запит з CTE:

WITH completed_tasks_cte AS (
SELECT UserTask.task_id, COUNT(*) AS total_completions_count
FROM UserTask
WHERE UserTask.completed_at IS NOT NULL
GROUP BY UserTask.task_id
)
SELECT Task.task_id, Task.price
FROM Task
LEFT JOIN completed_tasks_cte...


📉 Коли RPS (кількість запитів в секунду) збільшилось, продуктивність почала падати. І тут мені на допомогу прийшла нова модель OpenAI O1 Preview, яка пояснила дещо важливе: CTE дійсно може бути корисним, але тільки в специфічних випадках!

💎 Виявляється, CTE працює як "матеріалізований в'ю" і найкраще підходить, коли:
• Ви використовуєте один і той самий CTE багато разів в запиті
• Вам потрібно робити рекурсивні запити
• Ви працюєте з великим набором даних, який використовується повторно

🔧 В моєму випадку нічого з цього не було потрібно! Тому я переписав запит на корельований підзапит (correlated subquery):
SELECT Task.task_id, Task.price
FROM Task
WHERE Task.status = 'CREATED'
AND Task.limit > (
SELECT COUNT(*)
FROM UserTask
WHERE UserTask.task_id = Task.task_id
AND UserTask.completed_at IS NOT NULL
)
ORDER BY Task.price DESC


🚀 Результат? Швидкість виконання зросла в 10 разів! А все тому, що:
• База даних тепер обробляє тільки потрібні рядки
• Не створюється зайва проміжна таблиця
• Використовується менше пам'яті
• Оптимізатор постгресу може краще планувати виконання запиту (з СТЕ він йому набагато важче)

📚 Головний урок, який я виніс:
1. Розбирайтеся, ЧОМУ щось працює краще або гірше
2. Не бійтеся експериментувати і міряти продуктивність, використовуючи EXPLAIN ANALYZE на продакшн базі.

🤔 А у вас були випадки, коли поради ШІ виявлялися не найкращими? Як ви перевіряєте такі рекомендації? Діліться досвідом в коментарях!

Ставте 👍 якщо хочете більше постів про оптимізацію SQL та роботу з ШІ!

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Claude та Gemini тепер частина GitHub Copilot

https://x.com/OfficialLoganK/status/1851297819581432105
https://x.com/alexalbert__/status/1851300048711365021

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Claude знову король: Anthropic навалили аж ТРИ релізи одночасно:

🪙 Claude 3.5 Haiku — краще за Claude 3 Opus, інфи про те, чи стане вона новим безплатним стандартом Claude я не знайшов;

🪙 Claude 3.5.1 Sonnet — так, @thats_ai_samurai, замість Opus вони оновили базову модель 😁

Реліз вже сьогодні, по бенчмарках трохи випереджає ChatGPT-4o по всім пунктам;

🪙 Claude тепер може керувати вашим комп'ютером. Що? Так! Просто відкриваєте сторінку в Excel чи Google Sheet та просите ШІ заповнити її/відредагувати за вашим бажанням.

Зараз моделька вміє рухати курсор, клікати та писати текст. Єдиний момент — для реалізації можливостей випустили спеціальний API, то ж для тесту (вже почалася публічна бета) доведеться користуватися сторонніми рішеннями.

ооо нейромережеве

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🚀 Готово!

💰 За командою /rating ви можете увійти до свого кабінету, переглянути баланс, груповий рейтинг, а також налаштувати параметри ШІ. Всі ці налаштування є глобальними для всіх чатів, в яких ви берете участь.

🏆 Ваш рейтинг у групі визначає, до якого рангу ви належите! Від "Новачка" до "Короля", ранги допомагають покращити ваші можливості та статус у спільноті.

⚡️ Режими ШІ також можна вибирати прямо в налаштуваннях:
- Fast: швидкі відповіді з використанням базових моделей ШІ
- Smart: розширені відповіді за допомогою просунутих моделей
- Super: преміальні відповіді з використанням топових моделей, таких як OpenAI O1

🌍 Вибір постачальника ШІ теж доступний у кабінеті, обирайте між OpenAI та Anthropic для різних видів взаємодії.

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

📸 Ще трохи скриншотів адміністраторської панелі.

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

🔓Також є опція "Release Group Balance Limits" — дозволяє скинути ліміти всім учасникам в групі на використання ШІ! Тоді плата за всі запити буде списуватися з балансу RP групи.

💡 Ця остання опція — дуже зручний спосіб для адміністраторів збільшити використання ШІ в чаті завдяки донату будь-якого з учасників.

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

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

422865-7619b012

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Забув найголовніше, стрім буде англійською 😳

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🤖 Celestia AI: Розумна історія вашого чату

Привіт, друзі! Сьогодні знову розповім про @AI_Celestia_bot, яка перетворює хаос групових чатів на структуровану історію спілкування.

📚 Унікальний формат історії
Подивіться на скріншот вище — бачите, як гарно структурована інформація? Ось що робить бота особливим:
• Автоматичне групування тем за часовими періодами
• Згорнуті цитати, які не засмічують чат
• Генерація зображень які відображають теми, на які спілкувалися люди
• Розумне визначення основних тем дискусії

💡 Для яких чатів підійде
Бот ідеально підходить для:
• Навчальних груп, де важливо зберігати контекст обговорень
• Професійних спільнот з регулярними технічними дискусіями
• Проєктних команд для відстеження важливих рішень
• Тематичних чатів з якісним контентом
• Чатів з частими офтопік обговореннями

⚠️ Де краще не використовувати
Варто зазначити, що бот може бути менш корисним для:
- Чатів з великою кількістю флуду та ігрових ботів
- Груп, де переважають меми та стікери
- Форумів, або груп з гілками (поки що)

⭐️ Як активувати та налаштувати
1. Додайте бота до вашого чату
2. Поповніть свій баланс через Telegram Stars, наприклад на 500 RP. Перейти в кабінет можна командою /rating
3. Використайте команду, наприклад /donation 350 для поповнення рейтингу групи

До речі, за донат в групу розміром 350 балів ви відразу отримаєте максимальний ранг (від 1000 балів), з найбільшою кількістю безплатних запитів до ШІ, і генерацій малюнків

За кожні 400 повідомлень буде списуватися невелика сума групового рейтингу — це допомагає підтримувати якість сервісу.

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🖥 Мій робочий простір: три монітори і Cursor

Нарешті поставив собі фон на Cursor — і дуже задоволений результатом. Розумію, що не всім таке до душі, але мені підходить.

👨‍💻 Як все організовано. 3 екрани

- Зліва: Spotify або YouTube
- По центру: браузер (70%) і Telegram (30%)
- Справа: Cursor для коду

💡 Чому саме так

Три монітори — це дуже зручно. Все під рукою, не треба перемикатись між вікнами. Після такого важко повертатися до роботи на одному екрані чи ноуті.
А взагалі, лівий монітор планую замінити на 2K — зараз він трохи замалий

Є один мінус — setup не дуже мобільний. Але для дому — саме те.

Як у вас налаштоване робоче місце?

📸 Скрін мого фону в Cursor вище

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

В мене і ялинка вже вдома стоїть, якщо що 😎

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

оце типу? черговий майнер, а в чому його прикол?

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Imagine a future world where there will be 100x more AIs than there are humans. Is that actually good or bad? Does it even matter if we're fewer than them, but still all of us happy?

/channel/gpt_articles

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🔜 Telegram is about to introduce 10 new features for Mini Apps, enabling developers to create dozens of new kinds of apps and games on Telegram.

📺 Full-Screen Mode
📱 Home Screen Shortcuts
✍️ Subscription Plans
📍 Geolocation Access (with permissions)
📱 Device Orientation Data
💤 Emoji Status Access
🎨 Media Sharing
🎁 Sending Gifts
💭 Expanded Messaging Limits
💰 Ad Monetization

▶️ The last two items are already live with the remaining features launching within 2-4 weeks. Get your Mini Apps ready! 🚀

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

🌚 пошук в чатгпт працює добре 😁

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Юзаєте Cursor?

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

Генерите собі json, і потім вкладаєте ось так в контекст до Composer.

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Дуже крута новина, Claude 3.5 Sonnet зараз розриває в програмуванні майже будь яку іншу нейронку.

Але Cursor я все одно не кину)

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Додав в @AI_Celestia_bot нову Claude 3.5 Sonnet

По перших тестах, вона менше відмовляється говорити "неетичні" речі. Класно)

Нагадую, що працює в /smart_mode в режимах
/helpful /nasty /manipulator

Також зараз на /regular стоїть Gemini 1.5 Flash

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

24 жовтня запрошуємо вас на AWS Notes. Chapter 3. Data Engineering від AWS User Group Kyiv.

Третій розділ AWS Notes об'єднає українських та світових спікерів, щоб поділитися викликами, складнощами, досвідом та інсайтами у сфері Data Engineering. На вас чекають:
- 6 Tech Notes, де спікери поділяться своїм досвідом побудови та роботи із системами обробки та аналізу даних
- 2 короткі Snap Talks з концентрованими інсайтами про найсвіжіші технології та практики

З цієї нагоди ми збираємо разом провідних data експертів та сертифікованих AWS спеціалістів, серед яких: Юлія Шологонь з SoftServe, Тарас Сліпець з Flix, Alex DeBrie (AWS Data Hero), Ростислав Мироненко з Booking.com, Дмитро Сірант з OpsWorks та Максим Войтко з Honeycomb Software.

Для більш детальної інформації та реєстрації відвідайте сайт конференції: https://bit.ly/3YjdrzH

Реєструйтеся та до зустрічі!

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Якщо комусь цікаво, зараз в групі проводжу "тихий" стрім лайв-кодінгу.

Створюватиму зараз адмін панель користувача в WebApp.
Пізніше планую додавати мультимовність, якщо встигну, то сьогодні.

Читать полностью…

🇺🇦Розробка Телеграм ботів на Python

Кастомні ранги користувачів!

👑 В нас тепер є новий інструмент для кастомізації рангів! Спочатку група має декілька базових рангів, таких як Новачок 🐣, Учень 🌱, Адепт 🔧, Ветеран 🛡, Майстер 🏆, і Король 👑.

Додавайте бота в групу і тисніть /settings (Зміни налаштувань дозволені лише адміністраторам чату з правом змінювати інформацію чату).

Кожен із цих рангів має свої емодзі та рівень, який залежить від мінімального рейтингу. Ці ранги контролюють використання ШІ і відображаються в /top, де показується топ користувачів за рейтингом.

🎯 Кожен ранг має свої добові обмеження на використання ШІ-запитів, які підвищуються зі збільшенням рівня. Це означає, що з кожним новим рівнем користувачі отримують більше можливостей для взаємодії з ШІ, таких як генерація зображень, розпізнавання зображень, транскрибація аудіо та інші функції.

🔥 Групові RP збираються з купленого рейтингу користувачів, коли вони використовують команду /donation 1000 (або інші суми). При цьому, користувачі, які донатять зі свого особистого купленого рейтингу, отримують утричі більше рейтингу.

🤩 Тобто ті, хто донатить 1000 RP до групи, отримають 3000 RP і можуть стати Королями одразу!

Щойно баланс вашої групи досягне 1000 RP, ви отримуєте можливість створити набір кастомних рангів!

Ви можете обрати емодзі, власні назви рангів, та налаштувати права для кожного рангу. Наприклад:

- Дозволити змінювати кастомні титули адміністраторів лише Королям
- Зробити зміну титулів доступною взагалі для всіх учасників

Також, якщо Преміум користувачі бустять групу (заряджають), то вони отримують додатково +50 RP до рейтингу групи за кожний заряд!

🔧 Усі ці налаштування сприяють підвищенню активності користувачів, створюючи мотивацію для досягнення нових рівнів і активної участі!

💡 А як б ви назвали ранги в своїй групі?

Читать полностью…
Subscribe to a channel