> 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/product-docs/product-docs-en/applications/faq.md).

# FAQ

This section answers the project owner's frequently asked questions about Bloggers Bot Platform: installation, language versions, the showcase, the Telegram bot, AI, backups, and operations.

{% hint style="info" %}
This FAQ is written for the platform owner. If you need a technical API reference, see the section `FastAPI`.
{% endhint %}

### Quick start

<details>

<summary>What is Bloggers Bot Platform?</summary>

**In short**

It is a platform for a bloggers showcase, a Telegram mini app, and a Telegram bot with AI-based matching.

**More details**

A client can view blogger cards, filter the catalog, use AI search, and contact the agency. The owner manages cards, tags, media, AI settings, mailings, and channel posts through the admin panel.

**Where to manage it**

The main work is done through the web admin panel for the language version:

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

</details>

<details>

<summary>What is installed on the server?</summary>

**In short**

The web showcase, admin panel, backend, PostgreSQL, Telegram bot, shared Caddy gateway, and service utilities are installed.

**More details**

By default, the platform is placed in:

```
/opt/bloggers_platform
```

Language versions are located in:

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

**Important**

Each language version is installed as a separate set of containers with its own database, bot, settings, and files.

</details>

<details>

<summary>What needs to be prepared before installation?</summary>

**List**

You need a domain, a server with root access, open ports `80` and `443`, Telegram bot token, admin login and password, and an installation token from the vendor.

**Domain**

The domain must point to the server IP via `A`-record. If DNS has not updated yet, installation may complete, but the site will not open immediately.

**Telegram**

The bot is created through `@BotFather`. Each language version needs a separate Telegram bot token.

</details>

<details>

<summary>What minimum resources does the server need?</summary>

**Minimum**

At minimum, aim for `1 GB RAM` and `4 GB` of free space.

**Recommended**

For stable operation with multiple languages, media files, and an active bot, it is better to choose a server with some reserve: `2 GB RAM` and more.

**Why**

Docker, Caddy, the backend, PostgreSQL, and the Telegram bot run on the server at the same time. If several language versions are installed, the load increases.

</details>

### Language versions

<details>

<summary>What languages are supported?</summary>

**List**

Four versions are supported:

```
ru
en
zh
ar
```

**Meaning**

This is not just an interface translation. Each version can be a separate market: with its own bloggers, brands, channels, prices, AI prompts, and bot.

**Addresses**

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

</details>

<details>

<summary>Can several languages be installed on one domain?</summary>

**In short**

Yes. Language versions are opened on the same domain under different paths.

**How it works**

The home page detects the Telegram or browser language and routes the user to the appropriate installed version.

**Fallback**

If the required language is not installed, the available version is used by priority:

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

</details>

<details>

<summary>Can different domains be used for different languages?</summary>

**Standardly**

The standard installer is designed for one shared domain.

**If needed otherwise**

Different domains require separate infrastructure setup. This is no longer a standard installation scenario.

**Recommendation**

For a typical customer, it is better to use one domain and paths such as `/bloggers/ru/`, `/bloggers/en/`.

</details>

<details>

<summary>Do I need a separate Telegram bot for each language?</summary>

**In short**

Yes. Each language version needs its own Telegram bot token.

**Why**

The Telegram menu button, polling, bot users, and settings are tied to a specific token. One token cannot be used safely in several language versions at once.

**Practice**

If installed `ru` and `en`, create two bots in `@BotFather` and specify different tokens during installation.

</details>

<details>

<summary>What is transferred between language versions through the content manager?</summary>

**Transferred**

Cards, categories, tags, related media files, safe design settings, and part of the bot's content settings are transferred.

**Not translated**

Texts are not translated automatically. If content is transferred from one version to another, the translation must be done manually.

**Command**

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

</details>

<details>

<summary>What is not transferred between language versions?</summary>

**Security**

Telegram tokens, administrators, bot users, database secrets, JWT settings, channel IDs, and AI API keys are not transferred.

**Why**

This data must remain independent so that language versions do not interfere with each other and do not expose secrets.

**What to do**

After transferring content, check the Telegram, AI, channel, and admin settings in the target language version.

</details>

### Showcase and admin panel

<details>

<summary>Where is the admin panel located?</summary>

**Address**

The admin panel opens at the language version's address with the addition of `/admin`.

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

**Login**

To log in, use the administrator login and password set during installation or through the administrator change utility.

**Important**

Each language version has its own administrators. The login and password from one version do not necessarily work in another.

</details>

<details>

<summary>What can be changed in the admin panel?</summary>

**Content**

You can manage blogger cards, categories, tags, photos, icons, and statistics links.

**Design**

You can change the logo, video background, color scheme, contact button, and showcase visual settings.

**Telegram and AI**

You can configure the Telegram bot token, channel ID, AI search, AI consultant, greeting, mailings, and channel posts.

</details>

<details>

<summary>How does a client search for bloggers in the showcase?</summary>

**Methods**

A client can use regular search, filters, tags, price and follower ranges, sorting, and AI search.

**AI search**

AI analyzes the client's request and returns suitable cards from the current language version's database.

**Important**

AI does not create new bloggers. It only selects from cards that already exist in the database.

</details>

<details>

<summary>How should cards be filled out for good AI search?</summary>

**In short**

Write clear names, detailed descriptions, current topics, platforms, prices, and reach.

**What helps AI**

AI selects cards better if the descriptions contain the client's words: niche, audience, region, ad format, content type, and blogger features.

**Example**

Instead of a short "lifestyle blogger," it is better to write: "lifestyle and fitness, female audience 18-30, suitable for advertising food, clothing, and workout apps".

</details>

<details>

<summary>Can a tag be hidden from the showcase?</summary>

**In short**

Yes. The tag has a visibility setting.

**What happens**

A hidden tag is not shown to the user in the showcase, but it can remain in the database for organizing cards.

**When useful**

For example, if a tag is needed for internal classification but should not distract the user in the interface.

</details>

<details>

<summary>Can the card order be changed?</summary>

**In short**

Yes. In the admin panel, you can save a manual card order.

**How it is used**

If the user does not choose a special sort order, the showcase displays cards in the saved order.

**Tip**

Put the cards you want to show first higher: priority bloggers, best offers, or demo examples.

</details>

<details>

<summary>What media files can be uploaded?</summary>

**Logo**

Suitable for the logo:

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

**Video background**

Suitable for the video background:

```
.mp4
.webm
```

**Cards**

For cards, use images uploaded through the admin panel into the allowed assets folders.

</details>

### AI

<details>

<summary>How is AI search in the showcase different from the AI consultant in Telegram?</summary>

**AI search**

AI search in the showcase quickly filters the catalog and shows suitable cards on the site.

**AI consultant**

The Telegram AI consultant holds a dialogue, clarifies the client's task, suggests up to three bloggers, and shows contact buttons.

**Shared**

Both tools work with the current language version's database and should not suggest bloggers that are not in the catalog.

</details>

<details>

<summary>Which AI providers are supported?</summary>

**Providers**

The platform works with OpenAI-compatible providers. The settings include OpenAI, Groq, Gemini, and OpenRouter.

**What to specify**

To make AI work, you need to specify the API key, model, and prompt.

**Where to configure**

The AI search and Telegram AI consultant settings are in the admin panel.

</details>

<details>

<summary>What happens if the AI service is temporarily unavailable?</summary>

**Showcase**

For the showcase AI search, a fallback search by the database is provided. It can return suitable cards by matches in names, descriptions, and tags.

**Telegram**

Without a configured API key or when the provider errors, the Telegram AI consultant will not be able to respond fully as AI.

**What to do**

Check the API key, selected model, provider balance, and prompt.

</details>

<details>

<summary>Can AI prompts be changed?</summary>

**In short**

Yes. In the admin panel, you can change the AI search prompt and the Telegram AI consultant prompt.

**Reset**

If responses get worse after changes, you can restore the default prompt with the reset button.

**Tip**

Change the prompt in small blocks: agent role, clarification rules, selection criteria, response style.

</details>

<details>

<summary>What should I do if AI started asking unnecessary questions after editing the prompt?</summary>

**First step**

Restore the default prompt with the reset button.

**After reset**

Make changes gradually and test behavior on 3-5 typical requests.

**Important**

Do not remove the instruction to select specific bloggers from the database. Otherwise, AI may start giving general advice instead of selecting cards.

</details>

### Telegram bot

<details>

<summary>Can newsletters be sent through the Telegram bot?</summary>

**In short**

Yes. The newsletter is sent to users who started the bot and are saved in the current language version's database.

**Statistics**

If a user has blocked the bot, the message will not be delivered. Such users are shown in statistics as blockers.

**Important**

The newsletter is sent only to the audience of a specific language version, not to all versions at once.

</details>

<details>

<summary>Can posts be published to a Telegram channel?</summary>

**In short**

Yes. To do this, you need to specify the channel ID and add the bot as a channel administrator.

**How it works**

A post can be prepared in the admin panel, saved as a draft, and then published.

**If it is not published**

Check `CHANNEL_ID`, the bot's permissions in the channel and the current Telegram bot token.

</details>

<details>

<summary>Why does the bot restart after changing the Telegram token?</summary>

**In short**

This is normal behavior.

**Why**

The bot tracks the token in the settings. When the token changes, the process restarts so polling begins with the new bot.

**What to check**

After changing the token, check that the mini app system button opens the correct language version.

</details>

### Maintenance

<details>

<summary>How do I make a backup?</summary>

**One version**

For a separate language version:

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

**Content utility**

For general content management, restoration, and transfer between languages:

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

**Tip**

Before major changes to cards or importing content, it is better to make a manual backup.

</details>

<details>

<summary>Can the platform be removed from the server?</summary>

**Command**

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

**What it does**

The uninstaller stops the containers, removes the language versions, the shared edge, database volumes, and platform files.

**Security**

Before removal, a backup is created by default. Docker and UFW are removed only if the installer recorded that they were not present on the server before the platform was installed.

</details>

<details>

<summary>Where can I check the project status?</summary>

**Language version**

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

**Shared web gateway**

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

**What to check**

Check that the backend, bot, db, and edge are in the state `running` or `healthy`.

</details>

<details>

<summary>Where can I view the logs?</summary>

**Language version**

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

**Shared web gateway**

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

**When useful**

Logs are needed if the site does not open, the bot does not respond, settings are not saved, or Telegram returns an error.

</details>

<details>

<summary>Do I need to work with the API manually?</summary>

**Usually**

No. The showcase, admin panel, and Telegram bot use the API automatically.

**When needed**

Direct API access is needed for integrations, diagnostics, or custom enhancements.

**Where to read**

The detailed reference is in the section `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/product-docs/product-docs-en/applications/faq.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.
