Разговорный бот для Вконтакте на PHP

в 11:46, , рубрики: api, diy или сделай сам, php, vk api, vk.com, Веб-разработка, Вконтакте, Вконтакте API, общение, разговорный бот, социальные сети

Разговорный бот для Вконтакте на PHP - 1

Интро. Лирика.

Как-то в один прекрасный день меня осенила мысль о том, что было бы неплохо, если бы такие повседневные задачи как постинг и поддержание активности аккаунта в какой-либо социальной сети выполнял не человек, а простой разговорный бот. Тем более при «ботнете» в несколько сотен аккаунтов выполнять задачу с помощью одного человека нецелесообразно и почти невозможно. Поэтому возникла идея написать разговорного бота средствами, которые лучше всего мне были известны. Я решил сделать бота на PHP.

База ответов

Начать, как вы уже догадались, нужно было с поиска баз для ответов бота и элементарного технического задания, которое помогло бы сделать все быстро и с минимальным количеством костылей (у меня без костылей не получилось).
Немного раньше я познакомился с одним интересным проектом от компании «Наносемантика», которая занимается подобными задачами и создает, вроде, комерческих ботов-саппортов и прочее. Этот проект — iii.ru. На сайте проекта можно создать бота и получить его flash-версию для вставки на сайте. API у них не было, пришлось декомпилировать swf.

Закриптовано?!

Первое, что пришло ко мне в голову, когда я открыл декомпилированный код SWF файла — где теперь найти точку вывода ответов и каким образом это все перевернуть в сторону своей задумки. Удивлению не было предела, когда я увидел, что все запросы и ответы шифруются с помощью XOR + Base64, а ключ для расшифровки был в начале кода. Зачем тогда криптовать?

Техническая часть вопроса

Основные задачи, которые должен был выполнять мой бот — получать последние сообщения с «Вконтакте», отсылать их на сервер, получать ответ, отправлять ответ человеку, который общается с ботом.

Было создано следующие файлы:
— index.php (работает как клиент, обновляющий с помощью jquery файл с подгрузкой пришедших сообщений и последующим ответом)
— autoload.php (собственно, тот файл, который принимает и отвечает)
— showmeid.php (файл, который создает новый ID чата, если собеседник впервые общается с ботом)
— config.php (коннект к базе данных с клиентами бота)
— classes.php (классы для работы с ботом)

Установка

1. Импортируйте dump.sql в свою базу данных
2. Получите «долгоиграющий» access token для работы с VK API с помощью ссылки — получить token
3. Переименуйте config.sample.php в config.php предварительно изменив данные для коннекта к базе данных
4. Пользуйтесь запустив index.php

Итак, прошу знакомиться — Лариса Чернышова

А также исходники на GitHub.

UPD: Если бот не отвечает — значит блокируется отправка сообщения просьбой ввести капчу.

Автор: xjukebox

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js