На поточний момент більшість великих спільнот ВКонтакте вже мають ботів, актуальність цієї теми обумовлюється величезним попитом на цілодобову роботу додатка, оповіщення при вступі до спільноти і виході з нього, розсилку інформаційних повідомлень, саме бот спільноти ВКонтакте може вирішити ці завдання. У статті ми розглянемо рішення основних завдань, які часто виникають в будь-якому великому співтоваристві.
Підготовка серверної частини до підключення
Callback API - це інструмент для відстеження активності користувачів в Вашій громаді ВКонтакте. З його допомогою Ви можете реалізувати нові корисні функції, наприклад:
Інструкція по підключенню докладно описана в чудовій документації для розробників ВКонтакте.
Розберемо її докладніше, для розміщення скрипта чат-бота ми повинні мати функціонуючий веб-сервер.
Для роботи з callback API ВКонтакте рекомендує використовувати протокол https, інструкцію з безоплатного отримання сертифіката cloudflare і настройки сервера ви зможете знайти в статті, яку можна знайти в пошуковій системі Google за запитом Безкоштовний SSL сертифікат CloudFlare.
Після закінчення настройки сервера ви повинні мати робочий web-сервер, на який ми завантажимо скрипт нашого бота.
Налаштування спільноти ВКонтакте
Генерація ключа доступу
Важливим моментом в роботі бота спільноти є відповіді на призначені для користувача повідомлення і різні події, для того, щоб ми могли взаємодіяти з користувачем від імені спільноти, нам необхідно створити спеціальний ключ. Для цього перейдемо у вкладку "Управління співтовариством".
Далі спустимося в розділ "Робота з API" -> "Ключі доступу".
Для створення ключа необхідно натиснути "Створити ключ" і вибрати необхідні права, які ми надамо нашому боту.
У нашому випадку нам вистачить доступу до повідомлень співтовариства.
Збережемо даний ключ, він нам знадобиться під час налаштування backend.
Налаштування callback API
Тепер ми повинні пов'язати наш сервер і співтовариство, для цього ми повинні вказати дані нашого сервера і створити секретний ключ. Для цього нам необхідно перейти в розділ управління спільноти і спуститися у вкладку "Робота з API".
Заданий Вами секретний ключ буде передаватися з кожним повідомленням від сервера в окремому полі secret. Це дозволить Вам достовірно визначати, що повідомлення прийшло саме від нашого сервера.
Також ми повинні запам'ятати код, який повинен повернути сервер, запишіть його, він нам знадобиться під час налаштування backend.
Налаштування типів подій
Важливим моментом в роботі бота спільноти, є відповіді на призначені для користувача повідомлення і різні події, для того, щоб ми могли взаємодіяти з користувачем від імені спільноти, нам необхідно вказати які саме події ми хочемо отримувати. Так як ми збираємося відслідковувати вхідні повідомлення, вступу в співтовариства і вихід з нього, то нам необхідно встановити відповідні галочки. Для цього перейдемо у вкладку "Управління співтовариством".
Далі спустимося в розділ "Робота з API" -> "Типи подій".
Встановіть необхідні пункти в даному розділі.
Налаштування backend бота ВКонтакте
Зверніть увагу на значення наступних змінних:
$ ConfirmationToken $ token $ secretKey
У confirmationToken зберігається код, які сервер повинен повернути, в нашому випадку:
token зберігає в собі ключ доступу, який ми генерували в розділі «Генерація ключа доступу»
secretKey ми задавали в розділі управління спільноти callback API. Підсумковий код виглядає наступним чином (handler.php):
Після цього, конфігурація спільноти для роботи з ботом завершена, тепер, якщо ми відправимо повідомленням в співтовариство, ми отримаємо відповідь.
Реалізація вітання при вступі до спільноти ВКонтакте
На даному етапі ми вже маємо налаштований сервер і обробник бота, всі можливі події вказані в документації. вона добре написана, рекомендую з нею ознайомитися.
Ми будемо відловлювати подія group_join. для цього в операторі switch створимо новий розділ. Ми не будемо розглядати join_type докладно, так як у нас відкрита група, але ви можете обробляти цей параметр на ваш розсуд.
Повний код обробника бота ВКонтакте з функцією привітального повідомлення:
Реалізація прощання з учасником після того, як він покинув співтовариство
Реалізація ідентична, в конкретному випадку ми обробляємо group_leave
Веб-додаток розміром з пігмея
Ще тижні не минуло з анонса нових методів api вконтакте. Для власників спільнот викотили можливість підписувати користувачів на повідомлення від спільноти, що дає право власникам писати передплатникам необмежено. Не за горами додатки, ака розсилки по передплатникам спільноти, зі статистикою, шаблонами, відкладеної розсилкою і взагалі.