Vibecoding Haven (BotfatherDEV) – Telegram
Vibecoding Haven (BotfatherDEV)
2.59K subscribers
700 photos
109 videos
11 files
475 links
Ділюсь про те як стати продуктивнішим використовуючи AI в програмуванні.
Download Telegram
Хто хоче навчитись робити 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. Матеріали для підготовки надаю після оплати
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥7😢2👎1
Telegram Stars вже в ChatGPT

Нарешті я доробив магазин токенів всередині свого бота, а з інтеграцією Telegram Stars покупки в боті мають стати набагато зручнішими.

Спробуйте, мінімальна покупка - 2 зірки, а якщо будуть якісь проблеми - можу повернути (присилайте айді транзакції @latand)

Хочете стрім по тому, як це додати в свого бота?
👍6❤‍🔥1🤯1
Forwarded from about aiogram (Shaon)
⭐️ 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(
noscript="Title",
denoscription="Denoscription",
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}")


📌 Прості пункти використання платежів. Ще варто знати, що чеки можуть бути оплачені як один раз так і декілька, детальніше про це можна дізнатись тут
3👍1
До речі, як влучно підмітив Юра, 1 зірка приблизно це 1 гривня, і дуже зручно оцінювати скільки щось коштує, якщо просто замість "X зірок" подумати "Х гривень".

А картинка — це про те, скільки комісії беруть собі Apple/Google, Telegram. Тобто ціна 1 Telegram Star буде різною в залежності від того клієнта Телеграм, ДЕ її купувати.

Інакше кажучи, якщо не хочете, щоб ваша послуга коштувала +30% для юзерів — кажіть їм купляти з комп'ютера, а не з телефона.
🍓6👍1🤮1
Vibecoding Haven (BotfatherDEV)
Хто хоче навчитись робити WebApp 📲? Планую через місяць запустити новий FullStack інтенсив, на якому почати будувати один дуже цікавий проєкт. 💰Інтенсив платний: 200$ 🗓 Триватиме: 10-12 уроків протягом 6 тижнів (до 24г лекцій + самостійна робота). 👨‍💻 Стек:…
💡 Ви ще думаєте, чи варто приєднатися до нашого 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
💳 Оплата: Тут. За купонами — в пп

Чекаємо на вас! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤮2👍1😁1
🕸 Як налаштувати сервер? Deploy. Docker. Ubuntu

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

І що ви тоді робите?
Знаєте всі команди напам'ять? Шукаєте статтю на Digital Ocean? Пишете в СhatGPT?


Я, навіть при тому, що існує ChatGPT, я звертаюсь до цієї статті, бо в неї є як:
🟠 Як створити не-root користувача
🟠 Як налаштувати Firewall
🟠 Як створити і використовувати ssh ключ для входу на сервер, замість паролю
🟠 Як встановити Docker, Docker Compose на не-root користувача

💾 Збережіть собі посилання на наступний раз:)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🤮3
Vibecoding Haven (BotfatherDEV) pinned «Хто хоче навчитись робити WebApp 📲? Планую через місяць запустити новий FullStack інтенсив, на якому почати будувати один дуже цікавий проєкт. 💰Інтенсив платний: 200$ 🗓 Триватиме: 10-12 уроків протягом 6 тижнів (до 24г лекцій + самостійна робота). 👨‍💻 Стек:…»
⭐️ Тепер можна купувати 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%) — це взагалі неприпустима комісія.
👍2🔥1
Vibecoding Haven (BotfatherDEV)
⭐️ Тепер можна купувати Telegram Stars через Fragment Виявляється, там ціни на 35% нижчі, ніж в iOS чи Android. Я для прикладу глянув, скільки коштує 10,000 зірок (ну, або 4 пачки по 2,500). І ось що вийшло: - У Telegram Desktop: 7596 грн - В iOS/PlayStore:…
Ого, за ранок ціна за зірки в TON змінилася, підросла. Перерахував з урахуванням поточного курсу.

Стало на 1.5% дорожче ніж було на Fragment.

Отже, ціна на зірки в TON — плаваюча, але зафіксована в USD.
😁3
Forwarded from ༼AndrewKing༽ 🇺🇦 [Робокотокот]
⚡️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
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🚀 Останній шанс приєднатися до FullStack інтенсиву! 🚀

📣 Старт вже цього понеділка! Не пропустіть можливість стати частиною захоплюючого проєкту!

🎯 Що ми будуємо?
Прототип справжньої фріланс-платформи, яку я планую запустити до кінця літа! Ви не просто навчитеся - ви побачите, як створюється реальний продукт з нуля.

🖥️ Ось що на вас чекає:
1. Створення інтуїтивного інтерфейсу для замовлення ботів
2. Розробка системи вибору функціоналу та особливостей бота
3. Реалізація системи оплат та розсилки користувачам

💡 Чому варто приєднатися саме зараз:
- Практичний досвід роботи над реальним проєктом
- Можливість стати частиною команди, що запускає новий продукт
- Навчання на основі актуальних технологій та методологій

🎁 Бонус:
Доступ до найпотужнішої моделі GPT-4о через мого бота @GPT_DialogBot для навчання!

📅 Деталі курсу:
- Початок: Цей понеділок (22.07)
- Перший модуль: Розробка бекенду
- Вартість: 200$ (з можливістю знижок)
- Тривалість: ~12 занять протягом 6 тижнів

💳 Оплата:
- За посиланням
- Криптовалютою через @wallet або @send

🏷️ Знижки:
- Купони на 20% знижки для учасників групи (звертайтесь у приватні повідомлення)

🔥 Не втрачайте шанс стати частиною чогось великого!

📲 Для запису та додаткової інформації: @latand

Приєднуйтесь до нас і станьте FullStack розробником вже цього літа! 🌟
👍9🔥2😁1
😴Сон і навчання: як максимізувати ефективність

Привіт! сьогодні трохи про те, як правильний сон може покращити ваше навчання програмуванню (і не тільки).

🧠 Чому це важливо?

1. Підготовка мозку: Гарний сон перед навчанням допомагає мозку "перезавантажитись" і підготуватися до нової інформації.
2. Закріплення знань: Сон після навчання сприяє кращому засвоєнню матеріалу. Під час сну мозок активно обробляє нові знання.

🔬Що відбувається у мозку під час сну?

🔄 Консолідація пам'яті: Під час сну, особливо у фазі повільного сну, мозок перекладає короткотривалу пам'ять у довготривалу. Це допомагає краще запам'ятовувати вивчений матеріал.

🧹 Очищення мозку: Під час сну активується лімфатична система, яка виводить токсини та відходи з мозку. Це допомагає "освіжити" мозок для нового дня навчання.

🔗 Створення нових зв'язків: У фазі швидкого сну (REM) мозок створює нові нейронні зв'язки, що сприяє запам'ятовуванню, креативності та вирішенню проблем.

📊 Оптимізація інформації: Мозок сортує та організовує інформацію, отриману протягом дня, відкидаючи неважливе та зберігаючи ключові моменти.

🌙 Як покращити якість сну?

🕰 Спіть 7-9 годин (залежно від вашої індивідуальної потреби)
🍽 Не їжте і не пийте алкоголь за 1-2 години до сну
🔦 Уникайте яскравого світла вночі (а також світла телефону)
🔄 Дотримуйтесь регулярного режиму сну

💻 Як це застосувати до навчання програмуванню?

📅 Плануйте важливі навчальні сесії після доброго нічного сну
🧘‍♂️ Робіть короткі перерви під час навчання, вони допомагають завоювати нову інформацію "у фоні", навіть поки ви про неї не думаєте.
💤 Якщо застрягли на складній задачі, спробуйте "переспати) з нею" - часто рішення приходить після доброго сну

Додатково: відео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4🎄4❤‍🔥2
🚀 Оптимізація високонавантаженого бота.

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

До нас звернувся замовник, який попросив оптимізувати бота, бо він відповідав дуже повільно, а проєкт треба було розвивати, додавати нові фічі. Цей бот став для нас не просто черговим завданням, а справжнім викликом, який навчив нас багато чому.

🤖 Що робить цей бот?
Наш бот (@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 іноді генерувала помилкові запити, що сильно сповільнювало роботу.

У наступному пості розповім про те, як ми вирішували ці проблеми та які уроки винесли з цього досвіду.

А поки що, поділіться в коментарях: чи стикалися ви з подібними проблемами при оптимізації високонавантажених ботів? Які підходи ви використовували? 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥12👍21😨1
🚀 Оптимізація високонавантаженого бота: Частина 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 є критично важливим для оптимізації.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍243🔥1