# Telegram Bot

Бот предназначен для эмуляции выставления счета и проведения платежа через Provider Bot'a

## Создание и настройка собственного Telegram бота

### Шаг 1: Создание бота

1. Находим в Telegram [бота BotFather](https://t.me/BotFather).
1. Начинаем регистрацию нового бота командой `/newbot`.  
   _**BotFather:** Alright, a new bot. How are we going to call it? Please choose a name for your bot._  
   `Bank Aquaring Test Bot`.
1. _**BotFather:** Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot._  
   `bank_aquaring_test_bot`
1. В ответ вы получите уникальный токен, который необходимо прописать в строке `BOT_TOKEN` файла `.env` в корне проекта.

### Шаг 2: Подключение к Банку (на примере Сбербанка)

1. В **BotFather** выбрать созданного бота.
1. В меню выбрать `Payments` -> `Сбербанк` -> `Connect Сбербанк TEST`.
1. Откроется бот `SberbankPaymentBotUAT`. Выполняем команду `/start`.
1. В качестве `merchantLogin` можно отправить фразу `test` или заранее известный логин мерчанта.
1. Теперь в **BotFather** в разделе `Payments` созданного ранее бота будет виден список сгенерированных токенов. Например: _Сбербанк TEST: `123456789:TEST:12345678-abcd-1234-1234-1234abcd5678` YYYY-MM-DD hh:mm_.
1. Код токена необходимо прописать в строке `PROVIDER_TOKEN` файла `.env` в корне проекта.

## Проведение тестового платежа

### Шаг 1. Установка пакетов зависимостей и запуск сервера

> **Предусловие**  
> В файле `.env` должны быть прописан `PROVIDER_TOKEN` и `BOT_TOKEN`

1. В папке проекта выполнить `npm i`.
1. После окончания установки пакетов выполнить `npm run start`, тем самым запустив сервер.

### Шаг 2. Выставление и оплата счета

1. Найти в Telegram бота указанного в `BOT_TOKEN`.
1. Действовать по инструкциям бота.
