Для начала нам нужно создать токен сообщества, сделать это можно в настройках сообщества:
Управление > Работа с API > Ключи доступа
Сохраняем его куда-нибудь.
Потом узнаем строчку которую должен вернуть сервер:
Управление > Работа с API > CallBack API
А именно Строка, которую должен вернуть сервер: 82364ce9 .
Так-же сохраняем 82364ce9 куда-нибудь.
Ниже можно заметить Секретный ключ .
Можно придумать пароль или зашифровать какое-нибудь слово, чтобы оно выглядело как сложный пароль (md5).
Его тоже сохраняем.
И так, у нас есть: Токен , Строка которую должен вернуть сервер , Секретный ключ .
Переходим во вкладку
Управление > Работа с API > CallBack API > Типы событий
Включаем Входящие сообщения .
Далее можно воспользоваться библиотекой из этой темы (нам понадобится callback-vkapi.php) https://yougame.biz/threads/79176/ .
Переходим к части кода, тут всё просто:
listener();
Источник: yougame.biz
Как сделать бота ВКонтакте на PHP?
VK бот PHP пример установка Callback API
Первым делом, при создании бота для VK, необходимо настроить Webhooks. Webhooks это ссылка, на которую Вконтакте будет передавать все события, которые будет получать бот ВК. В дальнейшем эти данные можно будет сохранять и обрабатывать.
С ВК ботом, можно автоматизировать процессы или сделать автоответчик для коммуникации с клиентами или друзьями. VK JSON передает через бота запросы о (сообщения, новости, запросы и т.д). Как настроить и авторизовать адрес сервера для VK бота.
Зайдите в группу VK.com — Нажмите Управление сообществом, далее Работа с Api.

Нажмите кнопку Создать Токен. Готово!


Установка и подтверждение VK.com Webhooks
Откройте PHP файл и скопируйте скрипт ниже
$confirmation_token = «************»; // Строка, которую должен вернуть сервер.
$data = json_decode(file_get_contents(‘php://input’));
$conf = $data->;
if($conf == «confirmation»)
echo «$confirmation_token»;
>
Скопируйте код: «Строка, которую должен вернуть сервер», от ВК и вставьте его, как параметр $confirmation_token. Загрузите файл vk.php на ваш сервер и вставьте ссылку в поле Адрес Вашего сервера. Нажмите кнопку Подтвердить. Готово! Webhooks для VK.com подтвержден.
Теперь все данные в формате JSON, можно получить в автоматическом режиме в данной ссылке.
Нажмите на меню Типы событий, для того, чтобы указать, какие данные о каких события будете получать от ВК,
Реклама
Источник: aaronsmith-rustech.blogspot.com
Создание бота Вк на языке PHP — уроки API Вк
Для создание ботов в социальной сети Вконтакте нужно несколько вещей:
- Специальный standalone token ;
- Токен вашей группы;
- Сам скрипт с ботом;
- Группа с подключенным сервером и API.
Получение токена
Первым делом необходимо получить standalone token вместе с токеном вашей группы. Для этого переходим в раздел для разработчиков и в » Мои приложения «. Здесь создаем новое приложение. Название приложения можете выбрать любым, главное чтобы оно было Standalone-приложение.
Включите Open API после создания приложения. В него пропишите сайт, с которым будет связано ваше приложение, а также базовый домен. В нашем случае это itProger.com .
После этого необходимо перейти по этой ссылке . Также вы её видите ниже:
https://oauth.vk.com/authorize?client_id=6678654redirect_uri=https://oauth.vk.com/blank.htmlresponse_type=token ).
После этого создайте новую группу или воспользуйтесь вашей существующей группой. Зайдите в настройке, после чего в Ключи доступа и нажмите Создать ключ . Установите все права для ключа и после этого вы сможете получить токен вашей группы, который вам пригодиться для создания бота.
Создание самого бота
Для создания бота нам понадобиться три файла:
- config — файл служащий исключительно для нас. В нем мы запишем различные настройки и данные, которые сможем в дальнейшем использовать в других файлах;
- photos — файл для обработки альбома. В этом файле мы будем обрабатывать альбом, получать из него все изображение и записывать их в новый txt файл в специальном формате, который в дальнейшем будем передавать в качестве прикрепленного изображения к сообщению;
- bot — основной файл с ботом. Здесь мы прописываем обработку данных от пользователя, а также передачу сообщений от бота к пользователю Вконтакте.
Ниже представлены эти три файла. Они полностью готовы и с рабочим кодом. Детальное описание всего что в них происходит вы можете получить из видео.
$album = ‘https://vk.com/album-113958919_252151167’; $res = parse_url($album); $path = substr($res[‘path’], 6); $arr = explode(‘_’, $path); $owner_id = $arr[0]; $album_id = $arr[1]; $standalone = «ваш standalone токен приложения»; $group_token = ‘ваш токен группы’; $conf = [ ‘standalone’ => $standalone, ‘group_token’ => $group_token, ‘contorm_token’ => ‘eae5d4a2’, ‘mess’ => ‘Фото в студио’, ‘not_command’ => ‘Ничего не понял!’, ‘owner_id’ => $owner_id, ‘album_id’ => $album_id, ‘group_id’ => ‘170785666’, ‘apiurl’ => ‘https://api.vk.com/method/’, ‘path’ => substr($_SERVER[‘PHP_SELF’], 0, -2), ‘photos’ => ‘photos.txt’, ‘temp_link’ => ‘temp_album.txt’, ‘random_id’ => mt_rand(0000000000, 999999999999), ‘v’ => ‘5.50’ ];
unlink($conf[«photos»]); $query = file_get_contents($conf[‘apiurl’].’photos.get?owner_id=’.$conf[‘owner_id’].’v=’.$conf[‘v’].’ $res = json_decode($query, true); foreach($res as $v) < foreach($v[‘items’] as $q) < $result = ‘photo’.$q[‘owner_id’].’_’.$q[‘id’]; file_put_contents($conf[‘photos’], $result.»n», FILE_APPEND | LOCK_EX); >>
require «config.php»; $data = json_decode(file_get_contents(‘php://input’)); $u_id = $data->object->user_id; $mess = $data->object->body; $user_info = json_decode(file_get_contents($conf[‘apiurl’].’users.get?user_id=’.$u_id.’access_token=’.$conf[‘standalone’])); $user_name = $user_info->response[0]->first_name; $temp_link = file($conf[‘temp_link’]); if($temp_link[0] != $album) < file_put_contents($conf[‘temp_link’], $album); require «photos.php»; return true; >switch($data->type) < case ‘confirmation’: echo $conf[‘contorm_token’]; break; case «message_new»: if($mess == $conf[‘mess’]) < $file = file_get_contents($conf[‘photos’]); $photos_all = explode(«n», $file); $myCurl = curl_init(); curl_setopt_array($myCurl, array( CURLOPT_URL =>$conf[‘apiurl’].’messages.send?user_id=’.$u_id.’attachment=’.$photos_all[mt_rand(0, count($photos_all) — 1)].’v=’.$conf[‘v’].’ true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query(array()) )); $response = curl_exec($myCurl); curl_close($myCurl); > else < $myCurl = curl_init(); curl_setopt_array($myCurl, array( CURLOPT_URL =>$conf[‘apiurl’].’messages.send?user_id=’.$u_id.’message=’.urlencode($conf[‘not_command’]).’access_token=’.$conf[‘standalone’], CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query(array()) )); $response = curl_exec($myCurl); curl_close($myCurl); > echo ‘ok’; break; >
Детальное описание создания бота на языке PHP под систему Вконтакте:
Последнее что необходимо будет сделать, так это прописать URL адрес скрипта bot.php в группе, в настройках API:
После этого можете написать сообщение в группу и бот будет вам отвечать. Напишите «Фото в студио» и бот пришлет вам случайную фотографию из альбома.
Источник: status-telecom.ru