15

Пишем на Java простого чат-бота для vk.com

Всем привет. Давайте сделаем простого бота для вк. Для начала пусть он мяукает в ответ, кидает в чат случайные картинки, отвечает на вопрос "кто?" и напоминает нам, что бичпакет уже успел завариться.

Нам понадобится ПК, аккаунт vk.com, начальные знания Java, установленный git и минут 5-10 времени.

Web-часть

Идём в "Управление"

Идём в "Управление"

  • В настройках идём "Работа с API" - "Ключи доступа" - "Создать ключ" - выбираем все галочки - "Создать", подтверждаем на телефоне.

Копируем ключ (он длинный, целиком в поле ввода не влазит)

Копируем ключ (он длинный, целиком в поле ввода не влазит)

  • Идём в "Сообщения"

Включаем "Сообщения сообщества", жмём "Сохранить"

Включаем "Сообщения сообщества", жмём "Сохранить"

  • Идём в "Настройки для бота"

Включаем "Возможности бота", ставим галку "Разрешать добавлять...", сохраняем.

Включаем "Возможности бота", ставим галку "Разрешать добавлять...", сохраняем.

  • Добавляем бота в чат: на главной паблика/сообщества кликаем "Добавить в чат", выбираем чат/чаты и жмём "Пригласить"

  • В управлении чата делаем бота админом, чтобы он мог видеть сообщения в чате без прямого упоминания.

На этом в браузере всё.

Java-часть

  • Клонируем проект в удобное место

git clone https://github.com/acedece14/vk-chat-bot

  • Открываем Intellij IDEA, импортируем проект, ждём пока ide докачает всё нужное

  • Видим такую структуру проекта

Теперь про классы

BotCommands - тут лежат методы, которые вызываются у бота из чата

MyVkClient - тут прописана основная логика отправки данных на сервер

MyVkNewMessagesHandler - сюда приходят сообщения от пользователей чата

AppSettings - тут лежат настройки бота

Main - основной класс с точкой входа

Utils - тут мелкие утилитарные методы

Обязательно включаем annotation processing для lombok.

Запускаем!

Видим сообщение:
INFO: H:\vk-chat-bot\settings.json created, edit settings and restart app

Редактируем появившийся в директории с проектом файл settings.json

groupId можно получить посмотрев на адрес сообщества/паблика в адресе группы (только число)

groupId можно получить посмотрев на адрес сообщества/паблика в адресе группы (только число)

  • Запускаем ещё раз, видим, что наш мини-тест работает и имя создателя Вконтакте нам от сервера пришло.

  • Ну, теперь можно испытать несколько наших команд в чате с ботом.

Работает.

Работает.

Конечно, тут вагон и тележка замечаний, но для быстрого старта необходимый минимум есть. Если нужны подробности - спрашивайте в комментариях.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества