@Qewere

Как сделать сайт(сервер) отправляющий POST ответ по API в вк?

Я собираюсь взять VPS, чтобы разместить на нем бота ВК, но нужен ещё callback API, какой код нужен, или что нужно сделать, чтобы сервер отправлял код?
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev
software engineer
Вы на своей домашней машине уже написали код, который работает?
VPS это не то, что будет делать что-либо без кода. Это просто круглосуточно доступный в инете комп.
Ответ написан
@Runnin
Беседа по vk_api, вступай - https://vk.cc/8WE9bL
Если ты хочешь сделать бота, который работает на callback(оповещение сервера о событиях происходящих в боте) от вк, то вот тебе статья, как это делается. Глянь как там настраивается каллбэк. А вот минимальный код, который тебе надо залить на vps(используется эта библиотека) и в настройках сообщества указать ссылку на этот скрипт:
<?php
require_once('vk_api/autoload.php'); //подключение новой библиотеки
use DigitalStar\vk_api\vk_api as vk_api;
//**********CONFIG**************
const VK_KEY = "your_key"; //тот самый длинный ключ доступа сообщества
const ACCESS_KEY = "your_key"; //например c40b9566, введите свой
const VERSION = "5.80"; //ваша версия используемого api желательно использовать 5.80+ чтобы не было багов

$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 (isset($data->type) and $data->type == 'message_new') { //Проверяем, если это сообщение от пользователя
	$id = $data->object->from_id; //Получаем id пользователя, который написал сообщение
	$message = $data->object->text;
	$vk->sendMessage($id, "Вот твое сообщение: $message");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы