Як написати чат-бота на php для спільноти вконтакте

На поточний момент більшість великих спільнот ВКонтакте вже мають ботів, актуальність цієї теми обумовлюється величезним попитом на цілодобову роботу додатка, оповіщення при вступі до спільноти і виході з нього, розсилку інформаційних повідомлень, саме бот спільноти ВКонтакте може вирішити ці завдання. У статті ми розглянемо рішення основних завдань, які часто виникають в будь-якому великому співтоваристві.

Підготовка серверної частини до підключення

Callback API - це інструмент для відстеження активності користувачів в Вашій громаді ВКонтакте. З його допомогою Ви можете реалізувати нові корисні функції, наприклад:


Інструкція по підключенню докладно описана в чудовій документації для розробників ВКонтакте.

Розберемо її докладніше, для розміщення скрипта чат-бота ми повинні мати функціонуючий веб-сервер.

Для роботи з callback API ВКонтакте рекомендує використовувати протокол https, інструкцію з безоплатного отримання сертифіката cloudflare і настройки сервера ви зможете знайти в статті, яку можна знайти в пошуковій системі Google за запитом Безкоштовний SSL сертифікат CloudFlare.

Після закінчення настройки сервера ви повинні мати робочий web-сервер, на який ми завантажимо скрипт нашого бота.

Налаштування спільноти ВКонтакте

Генерація ключа доступу


Важливим моментом в роботі бота спільноти є відповіді на призначені для користувача повідомлення і різні події, для того, щоб ми могли взаємодіяти з користувачем від імені спільноти, нам необхідно створити спеціальний ключ. Для цього перейдемо у вкладку "Управління співтовариством".

Як написати чат-бота на php для спільноти вконтакте

Далі спустимося в розділ "Робота з API" -> "Ключі доступу".

Як написати чат-бота на php для спільноти вконтакте

Для створення ключа необхідно натиснути "Створити ключ" і вибрати необхідні права, які ми надамо нашому боту.

Як написати чат-бота на php для спільноти вконтакте

У нашому випадку нам вистачить доступу до повідомлень співтовариства.

Як написати чат-бота на php для спільноти вконтакте

Збережемо даний ключ, він нам знадобиться під час налаштування backend.

Налаштування callback API


Тепер ми повинні пов'язати наш сервер і співтовариство, для цього ми повинні вказати дані нашого сервера і створити секретний ключ. Для цього нам необхідно перейти в розділ управління спільноти і спуститися у вкладку "Робота з API".

Як написати чат-бота на php для спільноти вконтакте

Як написати чат-бота на php для спільноти вконтакте

Заданий Вами секретний ключ буде передаватися з кожним повідомленням від сервера в окремому полі secret. Це дозволить Вам достовірно визначати, що повідомлення прийшло саме від нашого сервера.


Як написати чат-бота на php для спільноти вконтакте

Також ми повинні запам'ятати код, який повинен повернути сервер, запишіть його, він нам знадобиться під час налаштування backend.

Налаштування типів подій


Важливим моментом в роботі бота спільноти, є відповіді на призначені для користувача повідомлення і різні події, для того, щоб ми могли взаємодіяти з користувачем від імені спільноти, нам необхідно вказати які саме події ми хочемо отримувати. Так як ми збираємося відслідковувати вхідні повідомлення, вступу в співтовариства і вихід з нього, то нам необхідно встановити відповідні галочки. Для цього перейдемо у вкладку "Управління співтовариством".

Як написати чат-бота на php для спільноти вконтакте

Далі спустимося в розділ "Робота з API" -> "Типи подій".

Як написати чат-бота на php для спільноти вконтакте
Як написати чат-бота на php для спільноти вконтакте

Встановіть необхідні пункти в даному розділі.

Налаштування backend бота ВКонтакте

Зверніть увагу на значення наступних змінних:

$ ConfirmationToken $ token $ secretKey


У confirmationToken зберігається код, які сервер повинен повернути, в нашому випадку:


token зберігає в собі ключ доступу, який ми генерували в розділі «Генерація ключа доступу»

secretKey ми задавали в розділі управління спільноти callback API. Підсумковий код виглядає наступним чином (handler.php):

Як написати чат-бота на php для спільноти вконтакте

Після цього, конфігурація спільноти для роботи з ботом завершена, тепер, якщо ми відправимо повідомленням в співтовариство, ми отримаємо відповідь.

Реалізація вітання при вступі до спільноти ВКонтакте


На даному етапі ми вже маємо налаштований сервер і обробник бота, всі можливі події вказані в документації. вона добре написана, рекомендую з нею ознайомитися.

Як написати чат-бота на php для спільноти вконтакте

Ми будемо відловлювати подія group_join. для цього в операторі switch створимо новий розділ. Ми не будемо розглядати join_type докладно, так як у нас відкрита група, але ви можете обробляти цей параметр на ваш розсуд.


Як написати чат-бота на php для спільноти вконтакте

Повний код обробника бота ВКонтакте з функцією привітального повідомлення:

Реалізація прощання з учасником після того, як він покинув співтовариство


Реалізація ідентична, в конкретному випадку ми обробляємо group_leave

Як написати чат-бота на php для спільноти вконтакте

Як написати чат-бота на php для спільноти вконтакте

Веб-додаток розміром з пігмея
Ще тижні не минуло з анонса нових методів api вконтакте. Для власників спільнот викотили можливість підписувати користувачів на повідомлення від спільноти, що дає право власникам писати передплатникам необмежено. Не за горами додатки, ака розсилки по передплатникам спільноти, зі статистикою, шаблонами, відкладеної розсилкою і взагалі.

Як написати чат-бота на php для спільноти вконтакте

Як написати чат-бота на php для спільноти вконтакте

Як написати чат-бота на php для спільноти вконтакте

Схожі статті