📣 Новий стрім: Запускаємо Telegram-бота на Webhook з Docker та ngrok, інтегруємо зовнішні API та Мультіботи!
💻 Новий стрім про:
🟠 Як налаштувати бота з Webhook
🟠 ngrok для швидкого використання локальних серверів в інтернеті
🟠 Використання готового класу для асинхронних API запитів з aiohttp
🕑 Таймстемпи:
🟠 3:12 — Інформація про Ngrok, Webhook, Docker
🟠 29:58 — Починаємо розглядати приклади з офіційного репозиторія aiogram
🟠 31:10 — Webhook example
🟠 37:05 — Multibot example
🟠 44:20 — Починаємо писати проєкт (розбір docker-compose)
🟠 46:53 — Отримуємо дані для ngrok і пишемо ngrok.yml
🟠 58:09 — Пишемо змінні оточення та Config
🟠 1:07:40 — Пишемо код для запуску Webhook в bot.py
🟠 1:33:33 — Пишемо Мультибота
🟠 2:00:12 — Про те, як приймати запити на Webhook від сторонніх сервісів (наприклад, про успішну оплату)
🟠 2:13:40 — Як надсилати запити на зовнішній API сервіс
P.S. запис буде, все залишиться на Youtube
Стрім українською мовою, але якщо будуть запитання російською — відповідатиму російською
📣 Стрім завершено!
Доробляли бота, який фільтрує спам повідомлення з допомогою ШІ (LLM Mistral) (він працює в @botoid):
🟠 Пройшли по поточному коду, що використовує ШІ Mistral — 13:55
🟠 Реалізували перевірку на вході в чат з допомогою 👍Реакцій — 38:36
🟠 Працювали з Redis сторедж для керування даними, що кешуються — 1:43:40
🟠 Зробили хендлер на призначення адміна, і на його пониження, і зберігали список адмінів в Redis — 1:58:47
✨ П'ять ключових вимірів: Навчання є складним процесом, і вдосконалення передбачає розуміння своїх можливостей:
🟠 у глибокій обробці (метод навчання, який передбачає активне аналітичне мислення щодо матеріалу)
🟠 саморегуляції (здатність управляти своїми емоціями)
🟠 настрій/система переконань (як людина сприймає різні ситуації)
🟠 самоуправлінні/селф-менеджмент (як організовує свій час)
🟠 практиці відтворення (техніка, що передбачає активне відтворення інформації з пам'яті)
✨ Індивідуальні підходи до навчання: Визначивши свій "тип учня", ми можемо адаптувати наші методи навчання. Незалежно від того, що ми вивчаємо, знання наших сильних сторін може значно прискорити наш розвиток.
Детальніше в відео
Хтось знає нейронку, що може генерити діждитал аватар під голос? щоб з ліп сінком було?
Можна анімаційних персонажів
Heygen дорого
Уроки по aiogram 3 вже на сайті, а відповідні уроки по aiogram 2 — переїжджають на Youtube!
Добра новина для тих, хто не мав доступу до платформи Botfather.DEV, але хоче навчитися писати ботів!
Наш YouTube плейлист буде оновлюватися, я буду додавати туди все більше і більше уроків по aiogram2, в той час, як платформу оновлятиму уроками по aiogram 3.
P.S. Завтра — більше
Коротка інструкція по тому, як виконувати домашні завдання. Вам навіть не потрібно для цього встановлювати IDE, достатньо просто мати Google акаунт!
Можете побачити, що тепер писати прості тести для ботів відносно нескладно (2-е фото).
Для цього я використовую мій форк бібліотеки aiogram-mock, відправляю боту повідомлення:
await tg_control.send("hello")
assert tg_control.last_message.text == "Hello, JOHN"Читать полностью…
🏆 Telegram Contests Update
Since the launch of contest.com in 2019, we've held contests for developers, designers and artists with a total prize fund of over $2,500,000 – and more contests are on the way.
Why do this? It's a way for people to learn and get better at what they do. Winning in our contests is also the only way of joining the Telegram Team. Some winners are offered paid projects, and a few have even become full team members.
Coming later this year: A contest for JS developers. It's your chance to be part of something big for our 800M+ users. Stay tuned!
Нагадую про можливість взяти участь в створенні власного WebApp на нашому платному інтенсиві!
Починаємо вже приблизно за тиждень, хто ще бажає записатись — пишіть @latand
P.S. Приєднатись можна до 10.11.2023.
Старт Інтенсиву 13.11.2023
А теперь эксперимент для русскоговорящих (если тут такие еще есть :).
Это автоматический дубляж с помощью Elevenlabs. Я его совсем чуть-чуть поправил, но есть достаточно много артефактов. А вам как? На Youtube залить?
Идея в том, чтобы добавить возможность автоматического платного дубляжа на сайте.
До речі, код middleware (з бонусом):
https://gist.github.com/Latand/75f6dfef96b1d4380055301c4cd1280d
Є ідея проведення серії інтенсивних групових зайнять по створенню Telegram WebApp.
Як вам така ідея? Протягом умовних 10-12 онлайн зайнять розібрати як створювати застосунки на кшталт цього.
🎬 Формат: стрім, де кожний з учасників приєднується до зайняття і разом пишемо код, можна задавати питання і все таке. Після стріму — самостійне вивчення додаткових матеріалів і інших туторіалів, для закріплення матеріалу.
🏆 Результат: кожний з учасників буде мати свій застосунок, можна включити деплой на сервер з доменом.
📚Мінімальні вимоги до учасників:
- Тверде знання основ Python
- Вміння робити примітивних ботів на aiogram
- Базове розуміння SQL
- Базове розуміння синтаксису HTML/CSS та основи Javascript
📝 Програма:
- Проєктування бази даних (БД)
- Створення БД з допомогою SQLAlchemy + Alembic
- Створення бота з підключенням WebApp
- Створення REST API на FastAPI
- Створення застосунку на React
📅 Графік проведення: 3-4 рази на тиждень, ввечері.
🚀Старт: поки не вирішив, але після 01.11.2023
——
Все що написано вище може змінитись, пишіть свої думки в пп.
Якщо цікавить і хочете записатись — теж пишіть в пп (@latand).
Як легко вами управляти, деякі з вас ставили не свої реакції, а намагались вибрати ту, яку ще ніхто не поставив)))
Читать полностью…Репозиторій: https://github.com/Latand/MedSyncWebApp
Бот: /channel/MedSyncbot
Документація: https://docs.medsync.botfather.dev/
ChatGPT Markdown -> Telegram HTML Parser
Якщо ви пишете ChatGPT бота на API OpenAI, і хочете, щоб у вас було нормальне форматування тексту — пропоную вам моє рішення:
Парсер Markdown розмітки, який переводить в HTML розмітку, яку сприймає Telegram Bot API
Також, тут передбачена можливість закривати теги <pre>, що дозволяє використовувати його в streaming mode.
📣 Сьогодні стрім — приймаємо заявки в публічні групи ботом.
🕑 14:00 по Києву. Вже пройшов
Деталі стриму в повідомлення нижче!
P.S. запис буде, все залишиться на Youtube
Стрім українською мовою, але якщо будуть запитання російською — відповідатиму російською
🤓🚀 Як стати розробником швидше? Відповідь — Ефективно навчатись
Будь який професійний розробник (той, що програміст) знає, що розвиватись треба постійно, треба постійно щось вчити нове, нові технології, підходи, мови програмування, тощо.
🧠 Якщо у вас буде розвинутий Growth Mindset (Мислення зростання), то ви можете досягнути майже будь чого, навчитись всьому.
Можливості для розвитку особистості та навичок не обмежені і можуть бути розширені через навчання та зусилля.
Урок по aiogram-dialog тепер доступний всім на YouTube!
Це об'єднане відео тих двох уроків, що раніше публікував на Botfather.DEV, тому урок повністю російською мовою.
Сьогодні проведемо стрім по Bot API 7.0.
Хочу розібрати реакції в ботах, і інші оновлення.
Сьогодні о 18:20 по Києву.
📝 Код-конспект для нових уроків.
Хочу з вами поділитися новим форматом конспектів до уроків! В цьому пості ви знайдете посилання на конспект до уроку по 🔮 Магічним фільтрам!
🤖 Хтось з вас обов'язково стикався з таким цікавим інструментом я Jupyter Notebook.
Він використовує такі спеціальні файли з розширенням .ipynb
, в яких можна розмістити Markdown розмітку для тексту, та фрагменти коду, які можна запускати просто в цьому файлі.
📚 Тобто, це майже ідеальний інструмент для конспекту уроків, бо можна розмістити код, пояснення до коду, а потім його ще і запустити, і протестити, подивиться, що він робить.
🧠 Саме тому, в нових уроках по aiogram 3, які вже доступні на Botfather.DEV, ми використовуємо саме цей формат конспекту коду.
➡️ Ось приклад такого конспекту по Магічним фільтрам (ті, що F.text
, F.data
, тощо).
👨🏫 Взагалі, я раджу проходити уроки наступним чином, щоб найкраще засвоїти матеріал:
1. Дивитесь відео без зупинок (щось упустили — нестрашно)
2. Читаєте код-конспект, запускаєте приклади, намагаєтесь зрозуміти те, як працює те, про що я розповідаю в уроці.
3. Клонуєте новий мінімальний темплейт*, вмикаєте відео, і дивитесь його знову, але тепер, вже повторюєте той код, що пишу я!
Після цього, потрібно ще більше практики, щоб остаточно засвоїти новий матеріал. Для цього — виконуєте домашнє завдання. Щодо домашнього завдання нижче буде ще один пост.
*мінімальний шаблон — нова версія цього шаблона для ботів, де прибране все зайве, що не буде відволікати тих, хто тільки навчається писати ботів.
O'zbeklar bormi? Biror narsa tushunarli bo'ldimi? O'zbek tilini topa olmayapman deb so'rayapman (Elevenlabs)
Читать полностью…Нарешті опублікували))
https://contest.com/mini-apps
Моє тут: https://contest.com/mini-apps/entry4538
🧪 Як тестувати ботів?
Це досить часте питання, яке мені задають, і я до нещодавнього часу тестів не писав взагалі. Але цей час настав, бо я хочу зробити домашні завдання в своєму курсі з автоматичними тестами.
Раніше я використовував бібліотеку tgintegration
, але це звісно оверхед для автоматичних тестів, бо там під капотом використовується pyrogram
. Це означає, що для тестування вашого бота потрібен реальний акаунт.
Отже, бібліотека для тестів знаходиться тут, і працює у зв'язці з aiogram 3, але поки там є невеличкий баг, то можете використати мій форк.
Якщо хочете подивиться як це працює, то заходьте на завдання по FSM в моєму репозиторії домашніх завдань:
⏩ https://github.com/Latand/aiogram-homework
Там є гілка 2-fsm, в якої розписана інструкція для завдання.
Ви коли-небудь замислювалися, наскільки наш вибір впливає на інших, або навпаки?
Іноді дія одної людини може скопійована іншими, чисто з почуття конформізму, внутрішньому бажанню не виділятись з маси інших.
Наприклад, реакції в Телеграмі не лише відображають наші емоції, але й мають силу впливати на емоції та дії інших. Цікаво, що це не завжди обумовлено схожістю наших внутрішніх реакцій. Іноді ми просто підсвідомо наслідуємо дії тих, кого бачимо. Тому, вибираючи реакцію на цьому пості, ви не факт, що виражаєте себе, але іноді ненароком стаєте частиною більшої суспільної динаміки.
Зможете поставити на цей пост свою реальну реакцію, не копіювавши інших?
🌟
Ще багато класних WebApp проєктів:
https://github.com/topics/telegram-miniapp-contest-2023
Сьогодні буде стрім на цьому каналі!
Пам'ятаєте про конкурс по WebApp? Ну що, я завершив проєкт, зараз доробляю дрібниці і документацію, і сьогодні вже дедлайн, тому буду здавати)
І після того, як я здам проєкт — хочу провести трансляцію, поговорити взагалі про WebApp, про те як його реалізувати, про складнощі з якими стикнувся.
Код всього проєкту і документація буде відкрита всім, тому ви всі зможете подивиться, оцінити, і запустити в себе подібного бота!
Нижче буде опитування щодо часу, коли провести стрім.
🤔 Що нового в Bot API v6.9?
— Взаємодія з правами на сторіси в методі promoteChatMember й типах ChatMemberAdministrator, ChatAdministratorRights.
— Тепер для Web App можна установити будь-який колір заголовка методом setHeaderColor
.
— Додано поле CloudStorage
до класу WebApp.
— Додано методи requestWriteAccess
і requestContact
до класу WebApp.
— До веб-додатків додано події writeAccessRequested
та contactRequested
.
— До класу WriteAccessAllowed додано поля from_request
та from_attachment_menu
.
— До класу WebAppUser додано поля added_to_attachment_menu
та allows_write_to_pm
# Джерело: https://core.telegram.org/bots/api#september-22-2023