Як зробити розмовного бота для вконтакте на php, m3w

Почати, як ви вже здогадалися, потрібно було з пошуку баз для відповідей бота і елементарного технічного завдання, яке допомогло б зробити все швидко і з мінімальною кількістю милиць (у мене без милиць не вийшло).

Трохи раніше я познайомився з одним цікавим проектом від компанії "Наносемантіка", яка займається подібними завданнями і створює, на кшталт, комерційних ботів-САППОРТ та інше. Цей проект - 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

UPD: Якщо бот не відповідає - значить блокується відправка повідомлення проханням ввести капчу.

Схожі статті