• Как сделать чтобы бот вк на питоне работал в беседе?

    @Runnin
    Беседа по vk_api, вступай - https://vk.cc/8WE9bL
    Советую делать на callback. В настройках группы указываешь, что можно добавлять бота в беседы. Версию бота ставь 5.80+. В беседе дай боту администратора. Теперь тебе на сервер будет прилетать примерно такой json
    5c470c8fe5c39642462575.png
    from_id - id человека
    peer_id - id беседы
    обработал сообщение, и отправил его в peer_id. Как-то так

    Но для callback нужно иметь сервер или хостинг, да и питон на нем трудно запустить, поэтому советую присмотреться к этой библиотеке на php. И вот кстати в этой статье можешь посмотреть как настраивается callback
    Ответ написан
    Комментировать
  • Как сделать сайт(сервер) отправляющий POST ответ по API в вк?

    @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");
    Ответ написан
    Комментировать