Metadata-Version: 2.4
Name: rugram
Version: 2.0.0
Summary: RuGram — RPG-фреймворк для Telegram на русском языке
Author: Pantapan1
Keywords: rpg,telegram,бот,игра,rugram,русский,fantasy,game
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Games/Entertainment :: Role-Playing
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.25
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: keywords
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

```markdown
# 🎮 RPGRam — RPG-фреймворк для Telegram

**Полноценный RPG-движок на русском языке для создания игровых ботов в Telegram.**

RPGRam объединяет 16 модулей в одной библиотеке: от бросков кубиков и боёвки до экономики, квестов и погоды.

---

## 📦 Установка

```bash
pip install rpggram
```

---

🚀 Быстрый старт (30 секунд)

```python
from rpggram import RPGRam, Клавиатура, Кнопка

бот = RPGRam("ТОКЕН_БОТА")

клава = Клавиатура(изменяемая=True)
клава.строка(Кнопка("⚔️ Битва"), Кнопка("🎒 Инвентарь"))
клава.строка(Кнопка("✨ Герой"))

@бот.обработать(команда="start")
def старт(сообщение, контекст):
    бот.отправить(сообщение.чат.ид, "Добро пожаловать в RPG!", клавиатура=клава)

@бот.обработать(текст="⚔️ Битва")
def битва(сообщение, контекст):
    бот.отправить(сообщение.чат.ид, "Ты вступил в бой!")

if __name__ == "__main__":
    бот.запустить()
```

---

🧩 Модули

Модуль Назначение
ядро Telegram Bot API на русском
база Встроенная JSON-база данных (VRBase)
кости Броски кубиков (d4-d100), проверки, таблицы лута
бой Пошаговая боёвка с действиями
эффекты Баффы, дебаффы, яды, регенерация
навыки Дерево навыков с узлами и зависимостями
профессии Работы с таймерами (шахтёр, кузнец, алхимик...)
квесты Квесты с прогрессом и цепочками
рынок Торговая площадка с лотами и историей сделок
крафт Система рецептов и создания предметов
группа Кланы и фракции
погода Динамическая погода с влиянием на бой
топ Таблицы лидеров
интерфейс Меню, пагинация, прогресс-бары
логи Журналирование и аудит действий
история Летопись мира

---

🎲 Пример: бросок кубика

```python
from rpggram import Кубик, Проверка, D20

# Простой бросок
результат = D20.бросить(модификатор=5)
print(результат)  # 18

# Проверка навыка
проверка = Проверка(D20, сложность=15)
итог = проверка.выполнить(модификатор=7)
print(итог["успех"])  # True
print(проверка.описать(итог))  # "👍 Уверенный успех"
```

⚔️ Пример: бой

```python
from rpggram import Боец, Бой, СТАНДАРТНЫЕ_ДЕЙСТВИЯ

герой = Боец("Миро", здоровье=100, атака=15, защита=10)
монстр = Боец("Гоблин", здоровье=50, атака=8, защита=3)

герой.добавить_действие(СТАНДАРТНЫЕ_ДЕЙСТВИЯ["огненный_шар"])

бой = Бой(герой, монстр)
результат = бой.следующий_ход(
    СТАНДАРТНЫЕ_ДЕЙСТВИЯ["сильный_удар"],
    СТАНДАРТНЫЕ_ДЕЙСТВИЯ["удар"]
)
print(результат["победитель"])  # "Миро"
```

🏪 Пример: рынок

```python
from rpggram import Рынок

рынок = Рынок(налог_процент=5)

# Выставить лот
рынок.выставить_лот(123, "Миро", "Железный меч", 1, 500, "Острый меч из железа", 48)

# Купить
сделка = рынок.купить_лот(лот_ид, 456, "Анна")

# Показать витрину
print(рынок.показать_витрину())
```

🌤 Пример: погода

```python
from rpggram import Погода

погода = Погода(базовая_температура=20)
погода.обновить(месяц=12, час=14)
погода.случайное_условие()

print(погода.описание())
# ❄️ Зима
# ☀️ День
# 🌡 Температура: -8.5°C
# 🌨 Снег
# 📝 Снегопад

# Влияние на бой
print(погода.эффекты_на_бой())  # {'скорость': -0.15, 'скрытность': 0.1}
```

---

📊 Всё вместе: RPG-бот за 5 минут

```python
from rpggram import RPGRam, Клавиатура, Кнопка, База, Кубик, D20, Проверка
from rpggram import Боец, Бой, СТАНДАРТНЫЕ_ДЕЙСТВИЯ, МенеджерЭффектов
from rpggram import МенеджерКвестов, Рынок, МенеджерПрофессий

бот = RPGRam("ТОКЕН")
база = База("rpg_world")
игроки = база.коробка("игроки")

@бот.обработать(команда="start")
def старт(сообщение, контекст):
    игрок = игроки.найти_один(чат_ид=сообщение.чат.ид)
    if not игрок:
        игроки.положить({
            "чат_ид": сообщение.чат.ид,
            "имя": сообщение.от.имя,
            "уровень": 1, "здоровье": 100, "золото": 0
        })
        база.сохранить()
    бот.ответить(сообщение, f"Добро пожаловать, {сообщение.от.имя}!")
```

---

📖 Документация

Каждый модуль содержит подробные комментарии на русском языке. Импортируйте и используйте:

```python
from rpggram import *  # Все 16 модулей
```

---

🛠 Зависимости

· requests>=2.25
· Python 3.8+

---

📝 Лицензия

MIT License — свободное использование и модификация.

---

RPGRam — создавай RPG-миры в Telegram на русском языке! 🎮🐍🇷🇺

```
