Пишем на 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 можно получить посмотрев на адрес сообщества/паблика в адресе группы (только число)
Запускаем ещё раз, видим, что наш мини-тест работает и имя создателя Вконтакте нам от сервера пришло.
Ну, теперь можно испытать несколько наших команд в чате с ботом.
Работает.
Конечно, тут вагон и тележка замечаний, но для быстрого старта необходимый минимум есть. Если нужны подробности - спрашивайте в комментариях.