# NionBOT

ربات روبیکا مبتنی بر کتابخانه `rubpy` برای مدیریت گروه‌ها و ارائه ابزارهای کاربردی.

## ویژگی‌ها
- **مدیریت قفل‌ها**: قفل لینک، یوزرنیم و فروارد با پیام‌های محلی‌سازی‌شده.
- **مدیریت دسترسی**: افزودن یا حذف مالک و ادمین بر اساس `user_id` یا `username`.
- **راهنمای درون‌برنامه‌ای**: نمایش لیست دستورات مدیریتی به صورت فارسی.
- **کلیدهای تعاملی**: دکمه‌های `pv_get_help` و `my_groups` برای کاربران خصوصی.

## پیش‌نیازها
- Python 3.10 یا بالاتر
- نصب وابستگی‌ها با اجرای دستور زیر:

```bash
pip install -r requirements.txt
```

## راه‌اندازی
1. فایل `.env` را بر اساس `.env.example` ایجاد کنید و مقادیر زیر را تنظیم نمایید:
   - **BOT_TOKEN**: توکن ربات روبیکا
   - **RATE_LIMIT**: محدودیت نرخ درخواست (مثلاً `1.0`)
   - **USE_WEBHOOK**: برای استفاده از وبهوک (`true` یا `false`)
   - **WEBHOOK_URL / WEBHOOK_PATH / WEBHOOK_PORT** در صورت نیاز به وبهوک
2. دیتابیس را آماده کنید؛ تنظیمات در `database/` قابل ویرایش است.
3. ربات را اجرا کنید:

```bash
python src/main.py
```

## ساختار دایرکتوری
- `src/main.py`: منطق اصلی ربات و هندلرها
- `src/string.json`: رشته‌های محلی‌سازی‌شده برای پیام‌ها
- `src/database/`: مدل‌ها و توابع CRUD
- `src/keyboard/`: تعریف صفحه‌کلیدهای سفارشی ربات

## محلی‌سازی
پیام‌ها به صورت فارسی در `src/string.json` نگه‌داری می‌شوند و با تابع `get_string()` فراخوانی می‌گردند. برای افزودن زبان جدید، کلیدهای مورد نیاز را در فایل JSON اضافه کنید و منطق انتخاب زبان را گسترش دهید.

## مشارکت
برای مشارکت، یک Fork ایجاد کرده، تغییرات خود را اعمال نمایید و Pull Request ارسال کنید. لطفاً توضیح دهید که چه مشکلی را حل کرده‌اید یا چه قابلیتی افزوده‌اید.

## مجوز
این پروژه تحت مجوز GPLv3 منتشر شده است. برای اطلاعات بیشتر فایل `LICENSE` را مطالعه کنید.
