Инструкция по админ-панели LisoBot
Подробное руководство: как пользоваться админкой, что и как настраивается.
1. Введение и доступ
URL админки
Админ-панель доступна по адресу вашего домена, например: https://admin.lisobot.ru
Способы входа
| Логин | Пароль |
|---|---|
| admin | Значение ADMIN_API_TOKEN из .env |
| Telegram ID | Значение ADMIN_API_TOKEN (ID должен быть в ADMIN_IDS) |
Пароль одинаковый в обоих случаях — это секретный токен из конфигурации.
Ограничения
5 попыток входа за 15 минут с одного IP. При превышении — сообщение «Слишком много попыток входа. Попробуйте через 15 минут.»
Выход
Кнопка Logout в правом верхнем углу.
2. Дашборд
После входа отображается дашборд с четырьмя карточками:
| Карточка | Описание |
|---|---|
| Пользователи | Общее число зарегистрированных пользователей |
| Доход (₽) | Сумма всех оплаченных платежей (status=paid) |
| Генерации | Общее число записей генераций |
| Заявки на вывод | Число выводов реферальных наград со статусом pending |
3. Пользователи
Раздел: Пользователи → Пользователи
Колонки
- ID — внутренний идентификатор
- Telegram ID — ID пользователя в Telegram
- Имя пользователя — username в Telegram
- Согласие с условиями — принял ли пользователь оферту
- Заблокирован — заблокирован ли пользователь
Блокировка пользователя
- Пользователи → Пользователи → список
- Клик по нужному пользователю
- Редактировать
- Установить галочку Заблокирован = ✓
- Сохранить
Заблокированный пользователь не может пользоваться ботом.
4. Тарифы
Раздел: Модели → Тарифы
Поля тарифа (Plan)
- Код — уникальный код (basic, plus, vip)
- Название — отображаемое название
- Цена/мес — месячная цена в рублях
- Токены — количество токенов при покупке подписки
- Включён (enabled) — доступность тарифа
Смена цены подписки
- Модели → Тарифы → выбрать тариф
- Изменить Цена/мес (руб)
- Сохранить
5. AI-модели (цена и доступ)
Раздел: Модели → AI-модели
Цена за запрос (price_per_use)
Для text, image, search, audio — фиксированная цена за один запрос. В токенах. Пример: 0.50
Цена за секунду (price_per_second)
Для video, audio — цена за 1 секунду длительности. Итоговая стоимость = price_per_second × длительность (сек). Пример: 3.50
Пошагово: смена цены модели
- Модели → AI-модели → список
- Клик по нужной модели
- Для text/image/search: изменить Цена за запрос
- Для video/audio: изменить Цена за секунду
- Сохранить
6. Тренды
Раздел: Модели → Тренды
Тренд — шаблон для «Трендовые видео»: пользователь выбирает тренд, загружает фото, бот генерирует видео по шаблону.
Поля формы
| Поле | Формат | Описание |
|---|---|---|
| Код (code) | Уникальная латиница | Идентификатор, напр. talking_avatar |
| Название (title) | Текст | Текст кнопки в боте |
| Описание | Текст | Показывается перед загрузкой фото |
| Шаблон промпта | Текст с {photo_url} | Обязателен плейсхолдер |
| Видеомодель | Выбор из списка | Только video-модели |
| Порядок | Число | Меньше = выше в списке |
| Требуется лицо | Галочка | true = фото с лицом и телом |
| Включён | Галочка | true = тренд виден в боте |
Шаблон промпта
Пример: Создай видео. Фото пользователя: {photo_url}
Плейсхолдер {photo_url} обязателен — если не указан, добавится автоматически в конец при сохранении.
Пошагово: создать тренд
- Модели → Тренды → Создать
- Код:
my_trend(латиница) - Название: «Мой тренд»
- Описание: «Загрузите фото с лицом»
- Шаблон промпта:
Сделай видео. Фото: {photo_url} - Видеомодель: выбрать из выпадающего списка
- Порядок: 100, Включён: ✓
- Сохранить
7. Контент
Раздел: Контент → Генерации. Только просмотр.
8. Финансы
Раздел: Финансы → Платежи. Просмотр истории платежей.
9. Рефералы
Разделы: Рефералы → Рефералы, Награды рефералов, Выводы
В SQLAdmin нет кнопки «Одобрить». Использовать Admin REST API:
POST /admin/api/withdrawals/{id}/approve
10. Модерация
Нарушения (AbuseEvent), События аудита — только просмотр.
11. Настройки (Config)
Раздел: Настройки → Настройка
Ключи
| Ключ | Тип | Пример | Описание |
|---|---|---|---|
| menu_show_community | bool | true | Кнопка «Сообщество» в меню |
| menu_show_search | bool | false | «Интернет поиск» в меню |
| referral_percent_basic | int | 30 | % реферальной награды для Basic |
| referral_percent_vip | int | 40 | % реферальной награды для VIP |
| withdraw_min_amount_rub | int | 2000 | Мин. сумма вывода (₽) |
| withdraw_fee_card_percent | float | 5 | Комиссия вывода на карту (%) |
| rate_limit_per_minute | int | 10 | Макс. запросов в минуту |
| queue_cap_basic | int | 3 | Макс. активных задач (Basic) |
| queue_cap_vip | int | 5 | Макс. активных задач (VIP) |
12. Заблокированные промпты
Шаблон — regex. Пример: насилие|оружие. Настройки → Заблокированный промпт → Создать.
13. Юридические документы
Редактирование оферты и согласия на обработку ПД.
14. Admin REST API
| Метод | Путь | Описание |
|---|---|---|
| POST | /admin/api/users/{id}/block | Заблокировать пользователя |
| POST | /admin/api/users/{id}/unblock | Разблокировать |
| POST | /admin/api/withdrawals/{id}/approve | Одобрить вывод |
| POST | /admin/api/generations/{id}/cancel | Отменить генерацию |
| GET/PATCH | /admin/api/config | Настройки |
15. Типичные сценарии
- Включить «Сообщество»: Config → menu_show_community → value = true
- Изменить % рефералов: Config → referral_percent_basic / referral_percent_vip
- Заблокировать пользователя: Пользователи → найти → Заблокирован = ✓
- Изменить цену модели: Модели → AI-модели → Цена за запрос / Цена за секунду
- Изменить цену тарифа: Модели → Тарифы → Цена/мес