Баннеры
Бот поддерживает кастомные баннеры для каждой страницы и локали. Поддерживаемые названия страниц:menu, dashboard, subscription, promocode, referral, default.
Поддерживаемые форматы: jpg, jpeg, png, gif, webp.
Баннеры загружаются из двух источников с разным приоритетом:
- Ваши баннеры —
/opt/remnashop/assets/banners/(высший приоритет) - Встроенные баннеры бота —
assets.default/banners/внутри Docker-образа (запасной вариант)
assets/banners/ — он автоматически получит приоритет над встроенным. Чтобы использовать встроенный баннер, просто не размещайте файл.
Порядок поиска баннера
При загрузке баннера система ищет файл в следующем порядке. Пользовательский том (assets/banners/):
banners/{locale_пользователя}/{страница}— страничный баннер для локали пользователяbanners/{locale_пользователя}/default— дефолтный баннер для локали пользователяbanners/{locale_по_умолчанию}/{страница}— страничный баннер для локали по умолчаниюbanners/{locale_по_умолчанию}/default— дефолтный баннер для локали по умолчаниюbanners/default— глобальный запасной баннер пользователя
assets.default/banners/, внутри образа):
banners/{locale_пользователя}/{страница}— встроенный страничный баннерbanners/default— встроенный глобальный баннер (последний запасной вариант)
Примеры использования
- Одно изображение для всего — разместите единственный файл
banners/default.jpg - Своё изображение для каждой локали — разместите
banners/{locale}/default.jpgдля каждой локали - Изображения для каждой страницы — разместите
banners/{locale}/{страница}.jpgдля каждой страницы и локали
Пример структуры файлов
Если вы не разместите ни одного баннера, бот использует встроенные баннеры из образа. Свой файл
banners/default.jpg задаёт глобальный запасной баннер для всех страниц и локалей.Переводы
Переводы загружаются из двух источников с разным приоритетом:- Ваши переопределения —
/opt/remnashop/assets/translations/{locale}/custom.ftl(высший приоритет) - Встроенные переводы бота —
assets.default/translations/{locale}/*.ftlвнутри Docker-образа (запасной вариант для всех остальных ключей)
- Новые ключи, появившиеся в обновлении бота, доступны автоматически — никаких действий не требуется.
- Ваши переопределения в
custom.ftlникогда не затрагиваются обновлениями. - Чтобы переопределить любой встроенный ключ, добавьте его в
custom.ftlсо своим переводом.
Встроенные файлы (
buttons.ftl, messages.ftl, notifications.ftl, events.ftl, utils.ftl) находятся внутри образа и всегда соответствуют версии бота. Редактировать их в пользовательском томе не нужно — достаточно custom.ftl.Файл custom.ftl
В каждой папке локали может быть файл custom.ftl (например, translations/ru/custom.ftl). Он используется как для переопределения встроенных ключей, так и для собственных строк — названий планов, дополнительных кнопок меню и т.п.
Добавляйте пары «ключ — значение» в синтаксисе Fluent:
custom-.
После внесения изменений необходимо перезапустить контейнер, чтобы они вступили в силу.
Логотип QR-кода
Вы можете добавить кастомный логотип в центр генерируемых QR-кодов приглашений.- Путь:
assets/logo.png - Формат: PNG, желательно с прозрачным фоном