Документация
Telegram-бот
Последнее обновление: 08.02.2026 08:46
Общая информация

Telegram-бот написан на базе фреймворка Laravel, подробную информацию по установке и настройке можно найти на официальном сайте.

Laravel

Telegram-бот не имеет отдельной панели управления, данные загружаются с обменника по API. Все настройки производятся в панели управления обменника.

Создание бота в Telegram

1) Зарегистрируйте нового бота, используя бот "@botFather" и скопируйте его токен (секретный ключ).

2) Используя бот "@userinfobot" узнайте и скопируйте свой "ID" (идентификатор пользователя).

Настройка обменника

API панели управления

1) Выпустите секретный ключ в разделе "Настройки приложения" - "Настройка API панели управления".

2) Заполните список доверенных IP-адресов.

Приватное API

1) Выпустите секретный ключ в разделе "Настройки приложения" - "Настройка приватного API".

2) Активируйте методы: "Обмен", "Запрос резерва", "Отправка отзыва", "Регистрация пользователя".

3) Заполните список доверенных IP-адресов.

Вебхуки

1) Выпустите секретный ключ в разделе "Настройки приложения" - "Настройка вебхуков".

2) Активируйте события: "Изменение статуса пользователя", "Изменение статуса заявки на верификацию", "Изменение статуса инвестиционного пакета", "Изменение статуса заявки на обмен", "Изменение статуса заявки на запрос резерва".

3) Укажите хост.

https://ВАШ.ДОМЕН/api/webhooks/exchanger
Файл переменных окружения

Перед началом установки создайте текстовый файл и заполните переменные окружения своими данными.

Пример заполнения:

APP_URL=https://ВАШ.ДОМЕН
APP_API_PREFIX=
APP_TIMEZONE=Europe/Kyiv
APP_LOCALE=ru
APP_KEY=

QUEUE_CONNECTION=sync

DB_DATABASE=exchanger_cms_telegram_bot
DB_USERNAME=user
DB_PASSWORD=12345

TELEGRAM_BOT_NAME=eechatiWake0ho_bot
TELEGRAM_BOT_TOKEN=1234567890:AAE2hF7K9LmNoPqRstUvWxYzAbCdEfGhIjK
TELEGRAM_ADMIN_CHAT_IDS=360634322

EXCHANGER_URL=https://demo.exchanger-cms.com
EXCHANGER_DASHBOARD_API_SECRET_KEY=Fa8aexee0ohK5ohziu2IePhal6shei9z
EXCHANGER_PRIVATE_API_SECRET_KEY=OR4iogohnah0meesiech5Ieb3aek9ohv
EXCHANGER_WEBHOOK_SECRET_KEY=iaGh4ja5jeiHu0YohSho9ju8vahch7ei
Переменная окружения Описание
APP_URL URL-адрес приложения
APP_API_PREFIX Префикс для API-эндпоинтов (необязательно)
APP_TIMEZONE Часовой пояс
APP_LOCALE Язык по умолчанию (ru, uk, en)
DB_DATABASE Название базы данных
DB_USERNAME Имя пользователя базы данных
DB_PASSWORD Пароль пользователя базы данных
TELEGRAM_BOT_NAME Название Telegram-бота
TELEGRAM_BOT_TOKEN Токен Telegram-бота
TELEGRAM_ADMIN_CHAT_IDS ID администратора в Telegram (через запятую)
EXCHANGER_URL URL-адрес обменника
EXCHANGER_DASHBOARD_API_SECRET_KEY Секретный ключ API панели управления обменника
EXCHANGER_PRIVATE_API_SECRET_KEY Секретный ключ приватного API обменника
EXCHANGER_WEBHOOK_SECRET_KEY Секретный ключ вебхуков обменника

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

Значения по умолчанию:

HTTP_CONNECT_TIMEOUT=3
HTTP_TIMEOUT=9

TELEGRAM_MAX_CONNECTIONS=1
TELEGRAM_SENDING_DELAY=500000
TELEGRAM_MAX_UPLOAD_FILE_SIZE=500

EXCHANGER_USER_AGENT=EXCMSTB
EXCHANGER_CACHE_TTL=60
EXCHANGER_CURRENCY_SORT=
EXCHANGER_CURRENCY_HIDE=
EXCHANGER_DIRECTION_HIDE=
Переменная окружения Описание
HTTP_CONNECT_TIMEOUT Лимит времени на установление HTTP-соединения (секунды)
HTTP_TIMEOUT Лимит времени на выполнение HTTP-запроса (секунды)
TELEGRAM_MAX_CONNECTIONS Лимит одновременных соединений с Telegram-ботом
TELEGRAM_SENDING_DELAY Задержка при отправке сообщений пользователю (микросекунды)
TELEGRAM_MAX_UPLOAD_FILE_SIZE Лимит загружаемых пользователем файлов (килобайты)
EXCHANGER_USER_AGENT Заголовок "User-Agent" при отправке запросов к API обменника
EXCHANGER_CACHE_TTL Время жизни кеша запросов к API обменника (секунды)
EXCHANGER_CURRENCY_SORT Строки идентификаторы валют для сортировки (через запятую)
EXCHANGER_CURRENCY_HIDE Строки идентификаторы валют для скрытия (через запятую)
EXCHANGER_DIRECTION_HIDE Строки идентификаторы направлений обмена для скрытия (через запятую)
Установка на сервер

1) Оформите заказ на покупку Telegram-бота.

2) Скачайте архив с файлами и распакуйте его в корневую директорию сайта.

3) Создайте файл ".env" (файл переменных окружения) и заполните его подготовленными данными.

4) Установите зависимости.

composer install --no-dev --optimize-autoloader --prefer-dist --no-interaction

5) Сгенерируйте ключ приложения.

php artisan key:generate

6) Выполните миграцию базы данных.

php artisan migrate

7) Установите вебхук Telegram.

php artisan telegram:setup-webhook

8) Выполните оптимизацию приложения.

php artisan optimize -e views

9) Настройте планировщик задач (CRON) для пользователя "www-data" на выполнение команды каждую минуту:

* * * * * /usr/bin/php /var/www/ВАШ.ДОМЕН/artisan schedule:run >> /dev/null 2>&1
Установка обновлений

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

Запуск на локальном сервере

Используйте встроенную команду для имитации Telegram вебхуков.

php artisan telegram:simulate-webhook
Настройка WAF

Используйте префикс для API-эндпоинтов (APP_API_PREFIX), что бы скрыть стандартный URL-адрес и ограничить доступ к сайту.

Пример URL-адреса без префикса:

https://ВАШ.ДОМЕН/api/webhooks/

Пример URL-адреса с префиксом:

https://ВАШ.ДОМЕН/api/gaok5gee2ooMaegheepholiezeeC0pau/webhooks/

Пример WAF правила для Cloudflare:

(http.host eq "ВАШ.ДОМЕН" and not starts_with(http.request.uri.path, "/api/gaok5gee2ooMaegheepholiezeeC0pau/webhooks/"))
Опубликовано: 25.02.2025 12:52
© Exchanger CMS, 2018 - 2026. Скрипт обменника валют. Все права защищены. Пользовательское соглашение