---
# System prepended metadata

title: EchoBot for Vk

---

# EchoBot for Vk
Бот для социальной сети ВКонтакте, который при упоминании его в беседе (или при переписке в диалоге с ботом) цитирует присланный ему текст.

Пример взаимодействия с ботом:
* В личном диалоге
  
  ![](https://i.imgur.com/iFTkIQH.png)
* В беседе

  ![](https://i.imgur.com/3dZggr5.png)

---

# Использование

## Создание и настройка сообщества в VK
1. Для начала у вас должно быть любое своё сообщество ВКонтакте — группа, встреча или публичная страница. Если сообщества нет, необходимо его создать;
2. Укажите, что вашему сообществу можно отправлять сообщения. Для этого перейдите в "*Управление сообществом*" → "*Сообщения*" и включите пункт "*Сообщения сообщества*";
3. Укажите, что в вашем сообществе будет работать бот. Перейдите в "*Управление сообществом*" → "*Сообщения*" → "*Настройки для бота*" и включите пункт "*Возможности ботов*" и поставьте галочку напротив "Разрешать добавлять сообщество в беседы";
4. На той же странице перейдите в "*Настройки*" → "*Работа с API*". На вкладке "*Ключи доступа*" нажмите кнопку "*Создать ключ*" и отметьте "Разрешить приложению доступ к сообщениям сообщества". Далее нажмите "*Создать*". Если вк попросит подтвердить действие, то подтвердите;
5. Перейдите на вкладку "*Callback API*". Нажмите "*Добавить сервер*". Можете придумать название или оставить его таким же. Выберите в "*Версия API*" - 5.80. В поле "*Секретный ключ*" придумайте секретный ключ и нажмите кнопку "*Сохранить*". Во вкладке "*Типы событий*" отметьте "*Входящее сообщение*".

### Получение ключей группы
*GROUP_ID* - это id вашей группы (вкладка "Callback API")

![](https://i.imgur.com/GphhmXZ.png)

---
*BOT_CONFIRMATION_TOKEN* - это строка которую должен вернуть сервер (вкладка "Callback API")

![](https://i.imgur.com/E6QiA1c.png)

---
*BOT_VK_ACCESS_TOKEN* - это секретный ключ доступа к API VK. (вкладка "Ключи доступа")

![](https://i.imgur.com/HVH392A.png)

---
*BOT_VK_IDENTIFICATION_TOKEN* - это идентификатор, который присылает VK с каждым запросом (вкладка "Callback API")

![](https://i.imgur.com/sJ656Sf.png)

## Запуск сервера

### Старт
Выберите один из следующих вариантов, в зависимости от ваших предпочтений (если не знаете, то первый предпочтительнее).

*Если у вас нет возможности использовать внешний IP, то вы можете установить *[ngrok](https://ngrok.com/)* или аналогичное приложение.*

---

<details>
  <summary><b><i>Docker</i></b></summary>
  
  *Для выполнения следующих шагов у вас должен быть установлен [Docker](https://docs.docker.com/engine/install/)*

* Создайте файл *secret.list*. Он будет содержать ключи полученные в пункте **Получение ключей группы**;
* Заполните файл следующей структурой указывая свои ключи:
    ```
    GROUP_ID=123456789
    BOT_CONFIRMATION_TOKEN=r84as6g5
    BOT_VK_ACCESS_TOKEN=eb04a7e0eb95d...
    BOT_VK_IDENTIFICATION_TOKEN=4c35abffec...
    ```
* Выберите порт на котором будет запускаться приложение. Если у вас внешний IP, то это *80* порт. Если нет, то выберите любой свободный и используйте его для *[ngrok](https://ngrok.com/)*;
* Выполнить команду в папке с *secret.list* подставив вместо *your_port* выбранный порт
    ```bash=
    docker run -d -p your_port:80/tcp --env-file ./secret.list veptechno/echobot:latest
    ```
  
</details>

---

<details>
  <summary><b><i>Gradle</i></b></summary>
  
  *Для выполнения следующих шагов вам необходимо установить версию java не ниже 1.8.*
1. Склонируйте или скачайте [репозиторий](https://github.com/veptechno/just-ai);
2. В папке ./src/main/resources переименуйте secret-template.properties в secret.properties;
3. В файле secret.properties после `=` укажите соответствующие аргументы (как их получить указано выше);
4. В файле application.properties укажите server.port, в качестве внешнего порта вашей машины, на который будут приходить оповещения от VK (или порт, который будет использовать *[ngrok](https://ngrok.com/)*);
5. В консоли выполните `gradlew bootRun`
  
</details>

---


## Подтверждение
Введите адрес, где запущен бот (или то, что вывел ngrok) в поле "*Адрес*" и добавьте к нему `/echobot`.

![](https://i.imgur.com/n6sM9nd.png)

Нажмите кнопку "*Подтвердить*"

# Использование
Достаточно написать боту и он вам ответит. Также можно добавить бота в беседу, и он будет отвечать тогда, когда к нему обратятся.

# Пример
[EchoBotByVep](https://vk.com/im?sel=-203501388)