> For the complete documentation index, see [llms.txt](https://vitrina-blogerov.gitbook.io/bloggers-showcase/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vitrina-blogerov.gitbook.io/bloggers-showcase/prilozheniya/vopros-otvet.md).

# Вопрос-ответ

Этот раздел отвечает на частые вопросы владельца проекта о Bloggers Bot Platform: установке, языковых версиях, витрине, Telegram-боте, AI, резервных копиях и эксплуатации.

{% hint style="info" %}
FAQ написан для владельца платформы. Если нужен технический справочник по API, смотрите раздел `FastAPI`.
{% endhint %}

### Быстрый старт

<details>

<summary>Что такое Bloggers Bot Platform?</summary>

**Коротко**

Это платформа для витрины блогеров, Telegram mini app и Telegram-бота с AI-подбором.

**Подробнее**

Клиент может смотреть карточки блогеров, фильтровать каталог, пользоваться AI-поиском и связываться с агентством. Владелец управляет карточками, тегами, медиа, AI-настройками, рассылками и постами в канал через админ-панель.

**Где управлять**

Основная работа идет через web-админку языковой версии:

```
https://example.com/bloggers/ru/admin
```

</details>

<details>

<summary>Что устанавливается на сервер?</summary>

**Коротко**

Устанавливается web-витрина, админ-панель, backend, PostgreSQL, Telegram-бот, общий Caddy-шлюз и сервисные утилиты.

**Подробнее**

По умолчанию платформа размещается в:

```
/opt/bloggers_platform
```

Языковые версии лежат в:

```
/opt/bloggers_platform/apps/ru
/opt/bloggers_platform/apps/en
/opt/bloggers_platform/apps/zh
/opt/bloggers_platform/apps/ar
```

**Важно**

Каждая языковая версия устанавливается как отдельный набор контейнеров со своей базой, ботом, настройками и файлами.

</details>

<details>

<summary>Что нужно подготовить перед установкой?</summary>

**Список**

Нужны домен, сервер с root-доступом, открытые порты `80` и `443`, Telegram bot token, логин и пароль администратора, а также токен установки от поставщика.

**Домен**

Домен должен указывать на IP сервера через `A`-запись. Если DNS еще не обновился, установка может пройти, но сайт не откроется сразу.

**Telegram**

Бот создается через `@BotFather`. Для каждой языковой версии нужен отдельный Telegram bot token.

</details>

<details>

<summary>Какие минимальные ресурсы нужны серверу?</summary>

**Минимум**

Ориентируйтесь минимум на `1 GB RAM` и `4 GB` свободного места.

**Рекомендуется**

Для стабильной работы с несколькими языками, медиафайлами и активным ботом лучше выбирать сервер с запасом: `2 GB RAM` и больше.

**Почему**

На сервере одновременно работают Docker, Caddy, backend, PostgreSQL и Telegram-бот. Если установлено несколько языковых версий, нагрузка растет.

</details>

### Языковые версии

<details>

<summary>Какие языки поддерживаются?</summary>

**Список**

Поддерживаются четыре версии:

```
ru
en
zh
ar
```

**Смысл**

Это не просто перевод интерфейса. Каждая версия может быть отдельным рынком: со своими блогерами, брендами, каналами, ценами, AI-промптами и ботом.

**Адреса**

```
https://example.com/bloggers/ru/
https://example.com/bloggers/en/
https://example.com/bloggers/zh/
https://example.com/bloggers/ar/
```

</details>

<details>

<summary>Можно ли поставить несколько языков на один домен?</summary>

**Коротко**

Да. Языковые версии открываются на одном домене по разным путям.

**Как работает**

Главная страница определяет язык Telegram или браузера и направляет пользователя в подходящую установленную версию.

**Fallback**

Если нужный язык не установлен, используется доступная версия по приоритету:

```
en -> zh -> ar -> ru
```

</details>

<details>

<summary>Можно ли использовать разные домены для разных языков?</summary>

**Стандартно**

Стандартный установщик рассчитан на один общий домен.

**Если нужно иначе**

Разные домены требуют отдельной инфраструктурной настройки. Это уже не стандартный сценарий установки.

**Рекомендация**

Для обычного заказчика лучше использовать один домен и пути вида `/bloggers/ru/`, `/bloggers/en/`.

</details>

<details>

<summary>Нужен ли отдельный Telegram-бот для каждого языка?</summary>

**Коротко**

Да. Для каждой языковой версии нужен свой Telegram bot token.

**Почему**

Telegram menu button, polling, пользователи бота и настройки привязаны к конкретному токену. Один токен нельзя безопасно использовать сразу в нескольких языковых версиях.

**Практика**

Если установлены `ru` и `en`, создайте два бота в `@BotFather` и укажите разные токены при установке.

</details>

<details>

<summary>Что переносится между языковыми версиями через content manager?</summary>

**Переносится**

Переносятся карточки, категории, теги, связанные медиафайлы, безопасные настройки оформления и часть контентных настроек бота.

**Не переводится**

Тексты не переводятся автоматически. Если контент перенесен из одной версии в другую, перевод нужно сделать вручную.

**Команда**

```bash
sudo /opt/bloggers_platform/content.sh
```

</details>

<details>

<summary>Что не переносится между языковыми версиями?</summary>

**Безопасность**

Не переносятся Telegram-токены, администраторы, пользователи бота, секреты базы данных, JWT-настройки, ID каналов и AI API keys.

**Почему**

Эти данные должны оставаться независимыми, чтобы языковые версии не мешали друг другу и не раскрывали секреты.

**Что делать**

После переноса контента проверьте настройки Telegram, AI, канала и админов в целевой языковой версии.

</details>

### Витрина и админ-панель

<details>

<summary>Где находится админ-панель?</summary>

**Адрес**

Админ-панель открывается по адресу языковой версии с добавлением `/admin`.

```
https://example.com/bloggers/ru/admin
```

**Вход**

Для входа используются логин и пароль администратора, заданные при установке или через утилиту смены администратора.

**Важно**

У каждой языковой версии свои администраторы. Логин и пароль одной версии не обязательно подходят к другой.

</details>

<details>

<summary>Что можно менять в админ-панели?</summary>

**Контент**

Можно управлять карточками блогеров, категориями, тегами, фото, иконками и ссылками на статистику.

**Оформление**

Можно менять логотип, видеофон, цветовую схему, кнопку связи и визуальные настройки витрины.

**Telegram и AI**

Можно настраивать Telegram bot token, ID канала, AI-поиск, AI-консультанта, приветствие, рассылки и посты в канал.

</details>

<details>

<summary>Как клиент ищет блогеров на витрине?</summary>

**Способы**

Клиент может использовать обычный поиск, фильтры, теги, диапазоны цены и подписчиков, сортировку и AI-поиск.

**AI-поиск**

AI анализирует запрос клиента и возвращает подходящие карточки из базы текущей языковой версии.

**Важно**

AI не создает новых блогеров. Он подбирает только из тех карточек, которые уже есть в базе.

</details>

<details>

<summary>Как правильно заполнять карточки для хорошего AI-поиска?</summary>

**Коротко**

Пишите понятные названия, подробные описания, актуальные тематики, площадки, цены и охваты.

**Что помогает AI**

AI лучше подбирает карточки, если в описаниях есть слова клиента: ниша, аудитория, регион, формат рекламы, тип контента и особенности блогера.

**Пример**

Вместо короткого “лайфстайл-блогер” лучше написать: “лайфстайл и фитнес, женская аудитория 18-30, подходит для рекламы питания, одежды и приложений для тренировок”.

</details>

<details>

<summary>Можно ли скрыть тег с витрины?</summary>

**Коротко**

Да. У тега есть настройка видимости.

**Что происходит**

Скрытый тег не показывается пользователю на витрине, но может оставаться в базе для организации карточек.

**Когда полезно**

Например, если тег нужен для внутренней классификации, но не должен отвлекать пользователя в интерфейсе.

</details>

<details>

<summary>Можно ли менять порядок карточек?</summary>

**Коротко**

Да. В админ-панели можно сохранить ручной порядок карточек.

**Как используется**

Если пользователь не выбирает специальную сортировку, витрина показывает карточки в сохраненном порядке.

**Совет**

Ставьте выше карточки, которые хотите показывать первыми: приоритетные блогеры, лучшие предложения или демо-примеры.

</details>

<details>

<summary>Какие медиафайлы можно загружать?</summary>

**Логотип**

Для логотипа подходят:

```
.png
.jpg
.jpeg
.webp
.svg
```

**Видеофон**

Для видеофона подходят:

```
.mp4
.webm
```

**Карточки**

Для карточек используйте изображения, загруженные через админ-панель в разрешенные папки assets.

</details>

### AI

<details>

<summary>Чем AI-поиск на витрине отличается от AI-консультанта в Telegram?</summary>

**AI-поиск**

AI-поиск на витрине быстро фильтрует каталог и показывает подходящие карточки на сайте.

**AI-консультант**

Telegram AI-консультант ведет диалог, уточняет задачу клиента, предлагает до трех блогеров и показывает кнопки для связи.

**Общее**

Оба инструмента работают с базой текущей языковой версии и не должны предлагать блогеров, которых нет в каталоге.

</details>

<details>

<summary>Какие AI-провайдеры поддерживаются?</summary>

**Провайдеры**

Платформа работает с OpenAI-совместимыми провайдерами. В настройках предусмотрены OpenAI, Groq, Gemini и OpenRouter.

**Что указать**

Для работы AI нужно указать API key, модель и промпт.

**Где настраивать**

Настройки AI-поиска и Telegram AI-консультанта находятся в админ-панели.

</details>

<details>

<summary>Что будет, если AI-сервис временно недоступен?</summary>

**Витрина**

Для AI-поиска витрины предусмотрен резервный поиск по базе. Он может вернуть подходящие карточки по совпадениям в названиях, описаниях и тегах.

**Telegram**

Telegram AI-консультант без настроенного API key или при ошибке провайдера не сможет полноценно отвечать как AI.

**Что сделать**

Проверьте API key, выбранную модель, баланс провайдера и промпт.

</details>

<details>

<summary>Можно ли менять промпты AI?</summary>

**Коротко**

Да. В админ-панели можно менять промпт AI-поиска и промпт Telegram AI-консультанта.

**Сброс**

Если после изменений ответы стали хуже, можно вернуть стандартный промпт через кнопку сброса.

**Совет**

Меняйте промпт небольшими блоками: роль агента, правила уточнения, критерии подбора, стиль ответа.

</details>

<details>

<summary>Что делать, если после правки промпта AI стал задавать лишние вопросы?</summary>

**Первый шаг**

Верните стандартный промпт через кнопку сброса.

**После сброса**

Вносите изменения постепенно и проверяйте поведение на 3-5 типовых запросах.

**Важно**

Не удаляйте указание подбирать конкретных блогеров из базы. Иначе AI может начать отвечать общими советами вместо подбора карточек.

</details>

### Telegram-бот

<details>

<summary>Можно ли отправлять рассылки через Telegram-бота?</summary>

**Коротко**

Да. Рассылка отправляется пользователям, которые запускали бота и сохранены в базе текущей языковой версии.

**Статистика**

Если пользователь заблокировал бота, сообщение ему не доставится. Такие пользователи отображаются в статистике как заблокировавшие.

**Важно**

Рассылка идет только по аудитории конкретной языковой версии, а не по всем версиям сразу.

</details>

<details>

<summary>Можно ли публиковать посты в Telegram-канал?</summary>

**Коротко**

Да. Для этого нужно указать ID канала и добавить бота администратором канала.

**Как работает**

Пост можно подготовить в админ-панели, сохранить как черновик и затем опубликовать.

**Если не публикуется**

Проверьте `CHANNEL_ID`, права бота в канале и актуальность Telegram bot token.

</details>

<details>

<summary>Почему после смены Telegram-токена бот перезапускается?</summary>

**Коротко**

Это нормальное поведение.

**Почему**

Бот отслеживает токен в настройках. Когда токен меняется, процесс перезапускается, чтобы начать polling уже с новым ботом.

**Что проверить**

После смены токена проверьте, что системная кнопка mini app открывает правильную языковую версию.

</details>

### Обслуживание

<details>

<summary>Как сделать резервную копию?</summary>

**Одна версия**

Для отдельной языковой версии:

```bash
sudo /opt/bloggers_platform/apps/ru/manager.sh backup
```

**Контент-утилита**

Для общего управления контентом, восстановления и переноса между языками:

```bash
sudo /opt/bloggers_platform/content.sh
```

**Совет**

Перед крупными изменениями в карточках или импортом контента лучше сделать ручной бэкап.

</details>

<details>

<summary>Можно ли удалить платформу с сервера?</summary>

**Команда**

```bash
sudo /opt/bloggers_platform/uninstall.sh
```

**Что делает**

Деинсталлятор останавливает контейнеры, удаляет языковые версии, общий edge, тома базы данных и файлы платформы.

**Безопасность**

Перед удалением по умолчанию создается резервная копия. Docker и UFW удаляются только если установщик зафиксировал, что до установки платформы их на сервере не было.

</details>

<details>

<summary>Где смотреть состояние проекта?</summary>

**Языковая версия**

```bash
sudo /opt/bloggers_platform/apps/ru/manager.sh status
```

**Общий web-шлюз**

```bash
sudo /opt/bloggers_platform/manager.sh status
```

**Что смотреть**

Проверьте, что backend, bot, db и edge находятся в состоянии `running` или `healthy`.

</details>

<details>

<summary>Где смотреть логи?</summary>

**Языковая версия**

```bash
sudo /opt/bloggers_platform/apps/ru/manager.sh logs
```

**Общий web-шлюз**

```bash
sudo /opt/bloggers_platform/manager.sh logs
```

**Когда полезно**

Логи нужны, если сайт не открывается, бот не отвечает, не сохраняются настройки или Telegram возвращает ошибку.

</details>

<details>

<summary>Нужно ли вручную работать с API?</summary>

**Обычно**

Нет. Витрина, админ-панель и Telegram-бот используют API автоматически.

**Когда нужно**

Прямое обращение к API нужно для интеграций, диагностики или индивидуальных доработок.

**Где читать**

Подробный справочник находится в разделе `FastAPI`.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://vitrina-blogerov.gitbook.io/bloggers-showcase/prilozheniya/vopros-otvet.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
