До посту вище.
"telegram bot avatar logo, drawing, minimalism"
(На жаль, він занадто багато уваги приділяє саме слову Telegram)
"telegram bot avatar logo, drawing, minimalism"
(На жаль, він занадто багато уваги приділяє саме слову Telegram)
Частина 1.
🇷🇺 Версия в комментариях
Привіт! Реліз нової версії аіограму вже зовсім близько (джерела повідомляють, що вийде десь восени в березні місяці), та багато хто замислюється над переходом з 2 версії. Тим часом наді мною пролітав іранський бойовий дрон, випущений країною-терористом рф.
Особисто я вже остаточно на неї перейшов, та всіх нових ботів пишу тільки на неї, та вирішив зробити низку невеличких дописів на тему переходу. В цілому, ви можете звернутись і до посібника від Groosha
Якщо раніше в нас був загальний об'єкт Dispatcher, яким ми реєстрували хендлери, та який обробляв об'єкти Update, що надходять до бота, а потім доставляв їх до цих хендлерів, то в нової версії той диспетчер розділили.
Тепер можна робити інші міні-диспетчери, які будуть додаватись до головного диспетчеру. Можете собі уявити таку ієрархічну структуру, де як по дереву від стовбуру (головний диспетчер) розростаються гілки (роутери).
По іншому, ще говорять, що тепер диспетчер — це головний роутер, а до нього можна вкласти інші роутери. А до тих роутерів — можна вкласти інші роутери.
Тобто, тепер можна зробити організацію логики в боті завдяки структурі роутерів, і застосовувати фільтри на цілий роутер. Це супер зручно, коли в вас є деякі хендлери, в яких застосовується однаковий фільтр. Тепер ви можете просто вивести їх в окремий роутер, та навісити фільтр на всі хендлери, зареєстровані до нього.
Наприклад, ситуація з фільтром для адмінів, коли перевірка йде по конкретним айдішникам:
Створюємо фільтр:
from aiogram.filters import BaseFilter
class AdminFilter(BaseFilter):
async def __call__(self, message, *args, **kwargs):
admins = await db_get_admins()
return message.from_user.id in admins
Створюємо наш роутер:admin_router = Router()
І реєструємо на тип Message наш фільтрadmin_router.message.filter(AdminFilter())
Тепер можемо зареєструвати наш хендлер (так, можна використати декоратор):@admin_router.message()
async def some_handler(message):
pass
Залишається тільки покласти цей роутер в диспетчер (це вже треба робити в іншому файлі):dp.include_router(admin_router)
Загалом:bot.py
, де в мене є доступ до dp = Dispatcher()
, куди і буде входити роутер.#корисне #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
mastergroosha.github.io
Пишем Telegram-ботов с aiogram 3.x
Знакомство с aiogram
Частина 2.
⬅️Читати частину 1 про Роутери.
Російська Версия в комментариях
Продовжую розповідати про фічі третьої версії, та одна з них — це оновлена фабрика для роботи з інлайн-кнопками.
Взагалі, створення інлайн-кнопок в нової версії теж трохи перероблено, тепер в нас додатково є крутий
InlineKeyboardBuilder
, та про все це детальніше можна почитати знову в посібнику від Groosha🔗Документація
Коли ви створюєте інлайн-кнопки, то вони часто можуть мати дуже схожий набір даних. Наприклад, коли ми працюємо з меню керування чимось, то в вас кнопки будуть розрізнятись тільки аргументом необхідної дії (
edit/add/delete
), а менюшка буде мати спільну назву, наприклад manage
. Тоді ці кнопки треба якось зручно упакувати.callback_data
замість простого тексту ви послуговуєтесь пітоновськими об'єктами, завдяки чому:callback_query.data.split()[-1]
і подібне, а ви в хендлер отримуєте вже створений словник з даними, які були передані в кнопки. Дуже зручно їх діставати по ключах, зрозуміло виглядає код!.filter()
, тоді aiogram точно не переплутає з іншими хендлерами.Отже! Тепер створення фабрики виглядає трохи по іншому, та можливо більш зрозуміло буде, плюс ви можете додавати опціональні поля, та пропускати їх і, нарешті, наші дані приходять правильного типу! А ще, тепер нам доступні підказки (тайпіхнти) для аргументів з класу фабрики.
Пам'ятаєте приблизно як створювати об'єкт
@dataclass
? Тепер ми створюємо об'єкт колбек-дати як окремий клас (а не екземпляр). Давайте зробимо на прикладі меню зміни товарів.from aiogram.filters.callback_data import CallbackDataaction — дія (додати, змінити, вилучити товар).
class ManageItems(CallbackData, prefix='manage_items'):
action: str
item_id: item_id
disabled: Optional[bool]
item_id — ідентифікатор товару.
disabled — додатковий аргумент, якщо ми хочемо заборонити конкретному користувачу якусь дію з товаром.
Тепер залишилось передати в
callback_data
методом pack()
:InlineKeyboardButton(text='Змінити', callback_data=ManageItems(action='edit', item_id=item_id).pack())
Після чого, в нас доступний до використання фільтр для хендлеру:from aiogram import FЯк бачите, можемо тут використовувати нову фічу aiogram3 — MagicFilter (про нього пізніше).
@menu_router.callback_query(ManageItems.filter(F.action='edit'))
Та в хендлер ми можемо прийняти вже сформований (вже не словник) об'єкт
ManageItems
:async def edit_some_item(call: CallbackQuery, callback_data: ManageItems):
item_id = callback_data.item_id
if callback_data.disabled:
# Відхилити дію
return
# Щось робимо
#корисне #полезноеPlease open Telegram to view this post
VIEW IN TELEGRAM
Telegram
🇺🇦Розробка Телеграм ботів на Python
⚙️ Перехід до aiogram v3.
Частина 1.
🇷🇺 Версия в комментариях
Привіт! Реліз нової версії аіограму вже зовсім близько (джерела повідомляють, що вийде десь восени в березні місяці), та багато хто замислюється над переходом з 2 версії. Тим часом наді мною…
Частина 1.
🇷🇺 Версия в комментариях
Привіт! Реліз нової версії аіограму вже зовсім близько (джерела повідомляють, що вийде десь восени в березні місяці), та багато хто замислюється над переходом з 2 версії. Тим часом наді мною…
🇺🇦Розробка Телеграм ботів на Python
Продовження уроків по SQL Нарешті випускаю це відео, про зв'язки між таблицями, про JOIN`и, та ін. Уроків в плейлисті вже більше, хто ще не бачив, та цікавиться цією темою — дивиться та залишайте коменти та критику) P.S. напоминаю, уроки все еще записьіваю…
Тепер ми розберемо тему підзапитів (запит в запиті), та навчимось відображати таблицю лідерів серед юзерів!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SQL. Урок 5 - Subquery, RANK(), DENSE_RANK(), ROW_NUMBER()
В цьому відео ви дізнаєтесь про те, як і де можна використовувати Підзапити (SubQuery), та вивести таблицю лідерів по якомусь параметру.
Вихідникі до уроків тут: https://github.com/Latand/SQL-Tutorial
Курс по розробці ботів є тут: https://botfather.dev…
Вихідникі до уроків тут: https://github.com/Latand/SQL-Tutorial
Курс по розробці ботів є тут: https://botfather.dev…
Російська версія в коментарях
Нарешті!) Дочекались! Сайт був повністю переписаний з нуля, відповідно первинному дизайну. Тепер старих багів зі входом на сайт вже не буде (але можуть бути і нові баги
Що оновлено:
P.S. Темна тема теж в профілю налаштовується
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🇺🇦Розробка Телеграм ботів на Python
Зафлудили реакціями та не залишили місце під банани :(
P.S. а там відос російською мовою😬
P.S. а там відос російською мовою
Please open Telegram to view this post
VIEW IN TELEGRAM
текст на русском в 1 комментарии
Хочу провести конкурс на розробку дизайну таблички лідерів для Botfather.DEV. Натомість даю доступ до курсу
Автори ще 3-х робіт отримають доступ до 4 тарифу (вартістю 100$)
Додатково:
- Перші 3 юзери мають бути відокремлені (наприклад, як на фото, кольором та медальками, або по-іншому).
- Вигляд таблиці має не сильно відрізнятись від дизайну сайта.
-
- Дані, які планую виводити (колонки):
1. №
2. Ім'я (може ще частину імейла)
3. Бали
4. Бали за портфоліо
5. Прогрес по курсу
6. Дата оновлення
Please open Telegram to view this post
VIEW IN TELEGRAM
За вирішення задачок ви отримаєте
Особисто я обожнюю це все, та спробую виділити трохи часу та візьму участь цього року. А хто хоче зі мною (та іншими підписниками) потягатись, то введіть код нашого лідерборду:
422865-6af4c2ea
Ввести тут: https://adventofcode.com/2022/leaderboard/privateПерша задачка дуже проста! Треба підрахувати на яку суму калорій кожний Ельф несе їжі, та визначити в кого ця сума найбільша!
Please open Telegram to view this post
VIEW IN TELEGRAM
(російська версія в коментарях)
Привіт! Новий Рік вже майже тут, тому настав час новорічних знижок і апдейтів по курсу та сайту!
По перше, хочу вибачитись перед студентами, що досі не запустив ще прямих етерів, та підписниками каналу, що тут так мало корисних постів.
Нагадую, що перший етер планую на тему aiogram v3, та розбор одного з моїх проєктів на 3 версії. На жаль, країна-терорист продовжує руйнувати нашу інфраструктуру, світла дуже часто немає, тому я не встигаю впоратися зі своїми основними задачами, а до прямого етеру я планую нормально так підготуватись.
Дуже сподіваюсь, що наші захисники, та NASAMS, Patriot, та інше ППО продовжать нас і далі захищати, та ми будемо зі світлом, і я зможу продовжити працювати над оновленням курса, та веденням цього каналу.
Нарешті додав автоматичний прийом оплати в криптовалюті, поки що доступні валюти
Запускаю знижки -50% на всі тарифи, до кінця 1-го січня, тому якщо ви їх чекали — зараз самий час отримати доступ до повної версії курсу, не втратьте цю можливість.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Костянтин К 🇺🇦 in Загальний чат - BOTFATHER.DEV 🤖
🌲 Новый Год, Скидки, Апдейты...
Привет! Новый Год уже почти здесь, поэтому настало время новогодних скидок и апдейтов по курсу и сайту!
Во-первых, хочу извиниться перед студентами, что до сих пор не запустил еще прямых эфиров, и перед подписчиками канала…
Привет! Новый Год уже почти здесь, поэтому настало время новогодних скидок и апдейтов по курсу и сайту!
Во-первых, хочу извиниться перед студентами, что до сих пор не запустил еще прямых эфиров, и перед подписчиками канала…
Вітаю всіх з новим роком! 🎄
Сьогодні ми поговоримо про ChatGPT, Artificial Intelligence (Штучний інтелект), etc.
(російська версія в статті)
🤷 Я б хотів вам порадити інструменти ChatGPT і GPT-3 - дві передові технології штучного інтелекту, які потенціально можуть докорінно змінити наш спосіб взаємодії з комп'ютером.
🤖 ChatGPT - це варіант популярної мовної моделі GPT (Generative Pre-training Transformer), розробленої компанією OpenAI.
📝 Вона створена спеціально для генерації майже будь-якого тексту в режимі реального часу, а інтерфейс та взаємодія проходить як у звичайному чаті. Все проходить достатньо просто: ви просто ставите питання, а вона генерує відповідь. Але самий смак у тому, що вона пам'ятає майже все, що ви їй писали в рамках одного листування.
Цих листувань може бути багато, і для кожного вона придумує свою коротку назву!
📣 Це насправді дуже крута штука, тому я створив канал, де публікую цікаві відповіді від нейронки на будь-які теми.
🤔 GPT-3, з іншого боку, є останньою та найпотужнішою версією мовної моделі GPT. Маючи місткість 175 мільярдів параметрів, на сьогодні це найбільша і найдосконаліша мовна модель ШІ з усіх наявних.
Однією з найбільш захватних речей в ChatGPT і GPT-3 є їх здатність розуміти і генерувати природну мову. Це означає, що ви можете (по)ставити їм питання або давати команди простою англійською мовою, і вони зможуть зрозуміти та відповісти належним чином.
Наприклад, ви можете використовувати GPT для створення чат-бота, який може відповідати на питання на певну тему, або для генерації тексту, схожого на людську мову, для таких завдань, як переклад або резюме.
Звичайно, ChatGPT і GPT-3 не позбавлені своїх обмежень. Вони все ще є моделями машинного навчання, що означає, що вони можуть робити тільки те, чому їх навчили. Вони не можуть думати або міркувати, так само як люди, і не можуть самостійно створювати абсолютно нові ідеї або концепції.
А GPT-4, яка очікується протягом 2023 року, буде мати в 600 разів більше параметрів!!!
Взагалі, кількість параметрів у мовній моделі є одним з ключових факторів, що визначає її здатність обробляти та розуміти мову. Чим більше параметрів має модель, тим більше інформації вона може зберігати і тим краще вона може розуміти і генерувати мову. Так, очікується, що GPT-4 матиме набагато сильнішу здатність до обробки мови.
🚍 Що дуже круто, що протягом обмеженого часу ChatGPT — абсолютно безплатний у використанні! Тому, обов'язково встигніть спробувати!
Проте, є одне "але"... Сервіс закритий поки що для реєстрацій з України, росії й деяких інших країн.
🤨 Саме тому я про це подбав, створив та активував декілька акаунтів, щоб ви могли насолодитись їм!
Дані для доступу в статті тут (внизу):
https://botfather.dev/news/chatgpt-gpt-3
Сьогодні ми поговоримо про ChatGPT, Artificial Intelligence (Штучний інтелект), etc.
(російська версія в статті)
Цих листувань може бути багато, і для кожного вона придумує свою коротку назву!
Однією з найбільш захватних речей в ChatGPT і GPT-3 є їх здатність розуміти і генерувати природну мову. Це означає, що ви можете (по)ставити їм питання або давати команди простою англійською мовою, і вони зможуть зрозуміти та відповісти належним чином.
Наприклад, ви можете використовувати GPT для створення чат-бота, який може відповідати на питання на певну тему, або для генерації тексту, схожого на людську мову, для таких завдань, як переклад або резюме.
Звичайно, ChatGPT і GPT-3 не позбавлені своїх обмежень. Вони все ще є моделями машинного навчання, що означає, що вони можуть робити тільки те, чому їх навчили. Вони не можуть думати або міркувати, так само як люди, і не можуть самостійно створювати абсолютно нові ідеї або концепції.
А GPT-4, яка очікується протягом 2023 року, буде мати в 600 разів більше параметрів!!!
Взагалі, кількість параметрів у мовній моделі є одним з ключових факторів, що визначає її здатність обробляти та розуміти мову. Чим більше параметрів має модель, тим більше інформації вона може зберігати і тим краще вона може розуміти і генерувати мову. Так, очікується, що GPT-4 матиме набагато сильнішу здатність до обробки мови.
Проте, є одне "але"... Сервіс закритий поки що для реєстрацій з України, росії й деяких інших країн.
Дані для доступу в статті тут (внизу):
https://botfather.dev/news/chatgpt-gpt-3
Please open Telegram to view this post
VIEW IN TELEGRAM