Welcome back, Trainer!
Ready to learn and expand your collection?
Study minutes become crystals, crystals fill a pack, and the pack opens to reveal new cards.
Створи Telegram-бота на Python, використовуючи Aiogram 3. Усі функції повинні бути реалізовані з часом, можна по трохи з заглушками. Архітектура має бути модульною, щоб у майбутньому можна було легко додавати нові механіки. База даних повинна бути JSON-файлами. Один файл для профілю користувача, окремі файли для карт, паків, конфігурації, статистики та інших даних. Усі дані повинні автоматично зберігатися після кожної зміни. Бот призначений тільки для одного користувача, тому авторизація не потрібна. Достатньо перевірки Telegram ID, який задається в config. Основна ідея бота — мотивація до навчання через колекціонування карт Pokémon. Основний цикл: користувач навчається без бота+вводить кількість хвилин/запускає таймер ботом на навчення і по його кінцю підтверджує; отримує кристали; витрачає кристали на паки; відкриває паки; отримує карти; збирає колекцію; закриває сети; отримує нагороди; продовжує навчатися. 1 хвилина навчання дорівнює 1 кристалу. У бота повинно бути красиве меню з Inline-кнопками. Головне меню повинно містити: Профіль Навчання Магазин Відкриття паків Колекція Статистика Досягнення У профілі показувати: аватарку користувача рівень; загальну кількість хвилин; кількість кристалів; зоряний пил; кількість відкритих паків; кількість карт;(вього унікальних) відсоток зібраної колекції(їх багато різних); Система рівнів. Рівень залежить лише від загальної кількості хвилин навчання. При кожному новому рівні користувач отримує нагороду. Навчання. Після натискання кнопки "Навчання" користувач вибирає додати хв/почати таймер і відповідно вибирає кількість хвилин Після цього потрібно вибрати категорію: Англійська Французька Іспанська Географія Право Інше Після підтвердження: додаються хвилини; додаються кристали; оновлюється статистика; перевіряються досягнення; перевіряється підвищення рівня. Магазин. Повинні існувати різні типи паків. Але для початку буде доступно тільки 2 Basic Pack Summer 2026 Pack можна легко додавати нові через JSON. Система випадіння карт повинна бути універсальною. Рідкість: Common Uncommon Rare Epic Legendary Mythic Шанс випадіння задається окремим JSON-файлом, щоб його можна було легко змінювати для кожного пака окремо свій можна. Карти. У кожної карти повинні бути поля: id номер покедекса назва тип рідкість серія покоління опис зображення версія назва пака де він Підтримувати різні варіанти карт: Normal Holo Gold Rainbow Shadow Ghost Shiny ( Для початку буде мало типів, з чим не заморач) Паки. Під час відкриття пака повинна запускатися анімація відкриття повідомленнями Telegram. Анімація має бути цікава не просто 1 повідомлення. Карти показ по 1 і треба нажимати дальше щоб продовжити. Якщо карта нова — це відображається Якщо карта вже існує — це вважається дублікатом. Дублікати. Кожен дублікат автоматично додає зоряний пил. Кількість пилу залежить від рідкості. Наприклад: Common 1 Uncommon 3 Rare 10 Epic 25 Legendary 100 Mythic 250 Колекція. Показувати всі отримані карти. Можна фільтрувати: по даті отрим по рідкості; по паку; по улюбленим;. Для кожної карти показувати: зображення; назву; номер; рідкість; версію; кількість копій отриманих Статистика. Показувати: сьогоднішні хвилини; цього тижня; цього місяця; загалом; кількість відкритих паків; кількість нових карт/всього наявних кількість дублікатів; найчастіше відкриваний пак. Досягнення. Автоматично перевіряти. Наприклад: 50 хвилин 100 хвилин 500 хвилин 1000 хвилин 10000 хвилин 10 паків 100 паків 250 паків 10 легендарок 50 легендарок 100 легендарок 50% колекції пака 75% колекції пака 100% колекції пака За кожне досягнення видавати нагороду. 50 ХВ право ... ( і т.д з іншими) Серія входу. Зображення. Кожна карта повинна показувати красиве PNG-зображення. Бот повинен автоматично відправляти фотографію карти з підписом. Підпис містить: назву; номер; тип; рідкість; версію; опис. нове/повторка Структура проєкту повинна бути професійною. Весь код має бути чистим, сучасним, добре документованим та розбитим на логічні модулі. Усі налаштування повинні зберігатися в JSON, без хардкоду. Усі шанси випадіння, ціни паків, нагороди, досвід, рівні, сети, рідкість карт, варіанти карт та інші параметри повинні легко редагуватися. Продумай економіку так, щоб прогрес був поступовим і цікавим навіть після кількох місяців використання. Картинки я згенерую сам і зміст паків ти зроби там заглушку. Почнемо з основ і структури
Sign in to leave a comment

Spend your crystals to acquire new card packs and expand your collection.

Ready to learn and expand your collection?
Study minutes become crystals, crystals fill a pack, and the pack opens to reveal new cards.
No comments yet. Be the first!