• На форуме разрешено создавать темы только для пользователей, кто имеет группу «Продавец». Приобрести её можно здесь: https://dstock.biz/account/upgrades. Либо в телеграме https://t.me/DustDS

Создаем собственного бота VK, подробная инструкция как создать бота VK за 5 минут!

jokerino

Интересующийся

jokerino

Интересующийся
Статус
Оффлайн
Регистрация
9 Июл 2019
Сообщения
8
Реакции
3
По началу покажется что это не возможно, но поверьте, Вам стоит только начать и все получится. Так как бота мы будем делать на сообществе, нам нужно его создать или использовать уже созданное


После того как создали сообщество, переходим в настройки
Далее в раздел Сообщения и включаем данную функцию, без нее работать наш бот не будет.
У нас появляется раздел Настройки для бота, переходим в него и включаем, при желании можете активировать возможность добавлять в беседы.

Далее переходим: Настройки -> Работа с API -> Ключи доступа и создаем ключ со следующими параметрами:
Этого будет достаточно, так как мы будем работать с сообщениями, получаем вот такой большой код (токен)

3a5eb7b4f02821c71813ef13ba3d0eccfca127bd1e64d97f077bb3467c31a7808af1bda385230fbbc18db

Данный токен сообщать другим пользователям нельзя, иначе Вы рискуете потерять доступ к своему сообществу, в моем случае после написания статьи я его удалю и он станет не активный. Сохраните токен в блокноте, он нам пригодится.

С настройками сообщества пока закончим, но в данный раздел нам нужно будет еще вернутся, теперь приступаем к написанию кода для нашего будущего бота. Конечно в данной статье я не буду показывать основные функции своего бота, а лишь небольшую часть, остальное Вы сможете сделать сами при желании, это лишь начальный этап создания бота, учитывайте это.

Бота мы будем писать на PHP.

Для удобства написания кода, я рекомендую скачать Sublime Text, один из лучших редакторов, самое главное удобный и практичный.

Создаем файл с расширением .php, например bot.php
Открываем любым редактором и начинаем писать код.
Вместе с исходником, я положу библиотеку, без нее бот работать не будет, библиотека является публичной, ее можно найти на просторах интернета, создана она очень хорошим человеком, скачать ее можно будет только после регистрации на сайте, требую мало, но оно того стоит
blush

Библиотека упрощает работу с кодом и методами API VK.

Подключаем библиотеку:
<?php

include "vk_api.php";

Теперь создаем константы, они нужны для удобства

1547600412kotoff_net__1547600375516.png

Их нужно заполнить. в кавычках вставляем тот самый длинный код (токен), вторую константу мы пока пропускаем, а в 3 пишем версию API, которую мы будем использовать. Давайте возьмем 5.81. Нам так же нужно указать и ACCESS_KEY его мы берем в сообществе.

В моем случае это: be20ea35 у Вас будет другой, копируем и вставляем во вторую константу. У Вас должно получится вот так:

<?php

include "vk_api.php";


const VK_KEY = "3a5eb7b4f02821c71813ef13ba3d0eccfca127bd1e64d97f077bb3467c31a7808af1bda385230fbbc18db"; // Токен сообщества
const ACCESS_KEY = "be20ea35"; // Тот самый ключ из сообщества
const VERSION = "5.81"; // Версия API VK


Обратите внимание, что токен и строка сообщества будет отличаться от вашего!

Продолжаем. Теперь нам нужно создать экземпляр класса работы с api, получить и декодировать JSON пришедший из VK и сообщить VK что мы приняли callback, все это кажется сложным, но на деле все очень просто и понятно.

Получаем следующий код:

$vk = new vk_api(VK_KEY, VERSION); // создание экземпляра класса работы с api, принимает токен и версию api
$data = json_decode(file_get_contents('php://input')); //Получает и декодирует JSON пришедший из ВК
if ($data->type == 'confirmation') { //Если vk запрашивает ключ
exit(ACCESS_KEY); //Завершаем скрипт отправкой ключа
}
$vk->sendOK(); //Говорим vk, что мы приняли callback

Теперь приступаем к самому интересному, обработке сообщений и созданию команд. Для начала нам нужно получить объект новых сообщений, для его дальнейшей обработки:

if ($data->type == 'message_new') {


}

Теперь можно создать первую команду! Наша команда будет !бот, давайте напишем ее:

if ($data->type == 'message_new') {

if ($message == '!бот') {

$vk->sendMessage($id, "Привет :-)"); // Отправляем ответ

}


}

Этот код работать не будет, так как мы не создали переменные $id и $message давайте создадим их. Переменные создаем выше строки
if ($data->type == 'message_new') {

$id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
$message = $data->object->text; // Само сообщение от пользователя

У нас получается следующий код:



<?php

include "vk_api.php";


const VK_KEY = "3a5eb7b4f02821c71813ef13ba3d0eccfca127bd1e64d97f077bb3467c31a7808af1bda385230fbbc18db"; // Токен сообщества
const ACCESS_KEY = "be20ea35"; // Тот самый ключ из сообщества
const VERSION = "5.81"; // Версия API VK


$vk = new vk_api(VK_KEY, VERSION);
$data = json_decode(file_get_contents('php://input'));

if ($data->type == 'confirmation') {
exit(ACCESS_KEY);
}
$vk->sendOK();
// ====== Наши переменные ============
$id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
$message = $data->object->text; // Само сообщение от пользователя
// ====== *************** ============

if ($data->type == 'message_new') {

if ($message == '!бот') {

$vk->sendMessage($id, "Привет :-)");

}


}


Это уже полностью рабочий бот, Вы уже можете его запустить, давайте это и сделаем, потом вернемся в код и напишем еще 1 команду.

Нам понадобиться любой хостинг, на котором будет установлен PHP версии не ниже 5.6, стоимость такого хостинга от 30 рублей и выше, статью о том как работать с хостингом я напишу позже, у меня есть видео ролик по работе с игровым хостингом, скрипт будет работать и там. Видео можете посмотреть ниже
 

Электрик

Интересующийся

Электрик

Интересующийся
Статус
Оффлайн
Регистрация
17 Ноя 2019
Сообщения
211
Реакции
0
спасибо за статью но еще до создания ботов никкак дойти не могу, на сколько я понял мы будем работать с сообществом а вот я хочу сделать именно работу со страничкой
 
Сверху