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 are loaded from two sources with different priority:
- Your banners —
/opt/remnashop/assets/banners/(highest priority) - Bot built-in banners —
assets.default/banners/inside the Docker image (fallback)
assets/banners/ — it automatically takes priority over the built-in one. To use a built-in banner, simply don’t place a file.
Fallback chain
When loading a banner, the system searches in the following order. User volume (assets/banners/):
banners/{user_locale}/{page}— page-specific banner for the user’s localebanners/{user_locale}/default— default banner for the user’s localebanners/{default_locale}/{page}— page-specific banner for the default localebanners/{default_locale}/default— default banner for the default localebanners/default— global user fallback
assets.default/banners/, inside the image):
banners/{user_locale}/{page}— built-in page-specific bannerbanners/default— built-in global banner (last resort)
Usage examples
- One image for everything — place a single
banners/default.jpg - One image per locale — place
banners/{locale}/default.jpgfor each locale - Per-page images — place
banners/{locale}/{page}.jpgfor each page and locale
File structure example
If you don’t place any banner, the bot uses its built-in banners from the image. Your own
banners/default.jpg sets the global fallback for all pages and locales.Translations
Translations are loaded from two sources with different priority:- Your overrides —
/opt/remnashop/assets/translations/{locale}/custom.ftl(highest priority) - Bot built-ins —
assets.default/translations/{locale}/*.ftlinside the Docker image (fallback for all other keys)
- New keys added in a bot update are available automatically — no action needed.
- Your overrides in
custom.ftlare never touched by updates. - To override any built-in key, add it to
custom.ftlwith your translation.
The built-in files (
buttons.ftl, messages.ftl, notifications.ftl, events.ftl, utils.ftl) live inside the image and always match the bot version. You don’t need to edit them in the user volume — custom.ftl is enough.The custom.ftl file
Each locale folder may contain a custom.ftl file (e.g. translations/ru/custom.ftl). It is used both to override built-in keys and for your own strings — plan names, extra menu buttons, etc.
Add key-value pairs using the Fluent syntax:
custom-.
| Context | Max length |
|---|---|
| Buttons | 32 characters |
| Messages | 1024 characters |
QR Code Logo
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