Всем привет, и так в этой статье мы разберем как создавать простого бота для вк! Вам нужно иметь хотя бы начальные знания в области php что бы разобраться в коде но я постараюсь объяснить все очень доступно и конечно же здесь будет исходник!))
Нам понадобится хостинг на котором будет располагаться наш исполнительный файл и к которому мы прикрепим группу в вк. Вы спросите для чего группа ну это элементарно мы делаем с вами самого простого бота который будет писать от имени сообщества конечно есть боты для которых создают целую страницу в вк но там процесс чуть чуть сложнее и выглядет иначе. И так приступим!
Нам нужно:
- Группа в вк
- Хостинг
- Терпение
И так заходим в группу
Потом переходим в Управление сообществом
Переходим в раздел Работ с API
Нажимаем на кнопку создать ключ
после того как вы создадите ключ , скопируйте его в какой ни будь файл что бы не потерять.
А вот теперь мы начинаем писать код!)
Открываем редактор в котором вы будете его писать. Это может быть Sublime text или Notepad или какой ни будь другой.
И так создаем файл send.php
И пишем туда следующий код:
<?php
//request vk api callback
if (!isset($_REQUEST)) {
return;
}
$confirmation_token = «a5eba2d6»;
// Tokken
$token = «TOKEN»;
// Secret key
$secretKey = ‘KEY’;
// проверяем secretKey
$data = json_decode(file_get_contents(‘php://input’));
//Проверяем, что находится в поле «type»
switch ($data->type) {
//Если это уведомление для подтверждения адреса сервера…
case ‘confirmation’:
//…отправляем строку для подтверждения адреса
echo $confirmation_token;
break;
case ‘message_new’:
//…получаем id его автора
$user_id = $data->object->user_id;
//затем с помощью users.get получаем данные об авторе
$user_info = json_decode(file_get_contents(«https://api.vk.com/method/users.get?user_ids={$user_id}&v=5.0»));
//и извлекаем из ответа его имя
$user_name = $user_info->response[0]->first_name;
$last_name = $user_info->response[0]->last_name;
//Получаем текст сообщения
$body = $data->object->body;
//Генерируем ответное сообщение, путем обращения к массиву с ответами
$request_params = array(
‘message’ => «Привет!»,
‘user_id’ => $user_id,
‘access_token’ => $token,
‘v’ => ‘5.0’,
);
$get_params = http_build_query($request_params);
file_get_contents(‘https://api.vk.com/method/messages.send?’.$get_params);
//Возвращаем «ok» серверу Callback API echo (‘ok’);
break;
}
?>
Вставляем туда вот этот код а теперь чуть чуть пробежимся по нему)
Первое что нам нужно изменить там это $token = «TOKEN»; за место слова TOKEN вставляем тот ключ который мы создавали.
Далее мы переходим обратно к группе и нажимаем Callback API а если у вас уже это все открыто то вписываем туда данные.
Вводим секретный ключ например yourkey1 и копируем его, после вставляем его в код $secretKey = ‘KEY’; за место слова KEY.
Далее вам нужно взять еще код подтверждения для того что бы вк идентифицировал ваш сервер откуда будет общаться ваш бот. Этот код находится над Секретным ключом в моем случае это a5eba2d6.
Копируем его и вставляем $confirmation_token = «код»; вот сюда.
Сохраняем наш файл send.php и загружаем на наш хостинг.
Далее в поле «Адрес вашего сервера» указываем ссылку на наш файл send.php
Так же нам нужно включить некоторые опции в этом разделе. Переходи в Типы событий.
и ставим галочки как показано на скриншоте:
Готово! Боту можно писать но он пока знает только слово — привет. Вы можете его настроить дальше на различные команды но здесь мы это разбирать не будет я лишь покажу где это делать, а если быть точным в какой части кода.
$request_params = array( $request_params = array(
‘message’ => «Привет!»,
‘user_id’ => $user_id,
‘access_token’ => $token,
‘v’ => ‘5.0’,
);
Я уже заранее заготовил вам переменную которая хранит сообщения ползователя она называется $body.
Например что бы отправить сообщения пользователю то которое он отправил боту то мы просто делаем так:
$request_params = array( $request_params = array(
‘message’ => $body,
‘user_id’ => $user_id,
‘access_token’ => $token,
‘v’ => ‘5.0’,
);
Спасибо за внимание!