Skip to main content

Documentation Index

Fetch the complete documentation index at: https://remnawave.shop/llms.txt

Use this file to discover all available pages before exploring further.

Banners

The bot supports custom banners for each page and locale. Supported page names: menu, dashboard, subscription, promocode, referral, default. Supported formats: jpg, jpeg, png, gif, webp. Banners should be placed at: /opt/remnashop/assets/banners/

Fallback chain

When loading a banner, the system searches in the following order:
  1. banners/{user_locale}/{page} — page-specific banner for the user’s locale
  2. banners/{user_locale}/default — default banner for the user’s locale
  3. banners/{default_locale}/{page} — page-specific banner for the default locale
  4. banners/{default_locale}/default — default banner for the default locale
  5. banners/default — global fallback

Usage examples

  • One image for everything — place a single banners/default.jpg
  • One image per locale — place banners/{locale}/default.jpg for each locale
  • Per-page images — place banners/{locale}/{page}.jpg for each page and locale

File structure example

banners/
├── default.jpg             ← global fallback for all pages and locales
├── ru/
│   ├── default.jpg         ← default for all pages in ru locale
│   ├── menu.jpg
│   └── subscription.jpg
└── en/
    ├── default.jpg
    └── menu.jpg
The banners/default.jpg file is the global fallback and is required for the bot to work properly. Do not delete it.

Translations

Translation files are located at: /opt/remnashop/assets/translations/{locale}/
FileDescription
buttons.ftlButton labels
messages.ftlMessages and dialog texts
notifications.ftlNotification texts
events.ftlEvent-triggered messages
utils.ftlUtility strings (statuses, labels, etc.)
custom.ftlCustom translations for plan names, menu buttons, etc.
The custom.ftl file is intended for user-defined keys — for example, translated plan names or extra menu button labels. Add your keys here instead of editing the main files. After making changes, restart the container for them to take effect.
cd /opt/remnashop && docker compose down && docker compose up -d
Translation persistence across bot updates is not currently supported. When updating, your previous assets will be archived at: /opt/remnashop/assets/*.bak

You can add a custom logo to the center of generated invite QR codes.
  • Path: assets/logo.png
  • Format: PNG, preferably with a transparent background
If the file exists, it will automatically be overlaid in the center of every generated QR code.