KOTOFF.NET
  • Главная
  • Пользователи
  • Контакты
  • Статистика
  • Правила
  • О нас
  • Вход / Регистрация

Скрипт VK бот на User и bots LongPoll с возможностью расширения функционала написанный на PHP

Статьи / PHP




В очередной статье про ботов вк, мы рассмотрим работу такого бота на пользовательском аккаунте и группе и запустим User/Bots LongPoll со своего компьютера

Что бы не покупать сервер для начала работ с ботами ВК, нам будет достаточно установить OpenServer на свой компьютер для запуска PHP скриптов. Я покажу как просто и понятно запускать скрипт с ПК что бы сделать рассылку по группе без использования сторонних сервисов и ответ ботом на входящие сообщения от пользователя. Нам понадобиться:
1. OpenServer установленный на ПК
2. Библиотека для удобной работы с VK API под названием SimpleVK

Скачиваем и устанавливаем OpenServer, с официального сайта качается очень долго, советую найти torrent, или закинуть донат разработчикам что бы скачать на максимальной скорости, решать Вам. Подойдет версия BASIC, но если интернет позволяет, качайте FULL, хуже не будет

И так после установки и запуска OpenServer у нас появится в трее значек флажка красного цвета, нужно нажать на него и выбрать зеленый

Если возникли сложности при запуске, запустите OpenServer от имени администратора.

На этом подготовительные работы окончены.

Теперь в любой папке на пк, пусть это будет рабочий стол, напишем пару строк кода и добавим библиотеку. Первый скрипт отвечает на входящие сообщения пользователю, второй делает рассылку по группе ВК по всем участникам которые писали сообществу ранее. Если диалогов очень много, то начало рассылки может затянуться из-за долгого сбора данных для рассылки, такой он VK API

<?php

require_once('simplevk-master/autoload.php');
use DigitalStar\vk_api\vk_api;
use DigitalStar\vk_api\LongPoll;

const VERSION = '5.80';
$vk = vk_api::create('ТОКЕН с правами на messages (VK ME или KateMobile)', VERSION);//или  логин пароль вместо токена как показано на следующей строчке
//$vk = vk_api::create('логин',' пароль', VERSION);//или  логин пароль вместо токена
$vk = new LongPoll($vk);
$vk->listen(function()use($vk){ //longpoll для пользователя





    $vk->on('message_new', function($data)use($vk) { //обработка входящих сообщений
        $vk->initVars($id, $message, $payload, $user_id, $type, $data);
        
        if ($message == 'привет'){ // Входящее сообщение
            $vk->reply('Ну привет мой дорогой дружочек'); // Ответ на него
        }
    });
});

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

Работает он вот так:



Для нормальной работы скрипта, нужен токен от KateMobile можно получить тут (кликтабельно) выбрав KateMobile



Второй более интересный вариант использования это Bots LongPoll используется только для групп, не забываем включить настройку в самой группе 

И в разделе ТИП СОБЫТИЙ включить ВХОДЯЩИЕ СООБЩЕНИЯ

И сам код:
<?php


require_once('simplevk-master/autoload.php');
use DigitalStar\vk_api\vk_api;
use DigitalStar\vk_api\LongPoll;
use DigitalStar\vk_api\Execute;
$vk = vk_api::create('ТОКЕН группы', '5.126');


$vk = new Execute($vk);
$vk = new LongPoll($vk);
$vk->listen(function($data)use($vk){ //в $data содержится все данные события, можно убрать, если не нужен
    $vk->initVars($id, $message);

    $cmd = explode(' ', $message, 2); // Получаем первое сообщение и последующие слова кроме первого :)
    if ($cmd[0] == 'рассылка') {
        $vk->reply("Рассылка запущена, текст: $cmd[1] слово стоп остановит рассылку");
        $started1 = $vk->buttonText('Кнопочка 1', 'green', ['command' => 'started1']);
        $started2    = $vk->buttonText('Кнопочка 2', 'white', ['command' => 'started2']);
        $started3   = $vk->buttonText('Кнопочка 3', 'white', ['command' => 'started3']);

        $keyboard = $vk->generateKeyboard( [[$started1],[$started2, $started3]]);
        // Если клава не нужна то передаем в переменную NULL пример ниже
        //$keyboard = NULL;
        $vk->sendAllDialogs($cmd[1], $keyboard, $filter = 'all', $params = []); // $filter = 'all' отправить всем

    }

    if ($cmd[0] == 'стоп') { // Вырубаем скрипт
        $vk->reply('Скрипт остановлен');
        exit();

    }

});

Таким образом мы делаем абсолютно бесплатную рассылку по группе ВК без сторонних приложений, удобно и легко.

Но как же запустить эти скрипты? Все очень просто. Нажимаем на флажок правой кнопкой мыши и выбираем Интернет -> Консоль, главное запустить сам OpenServer перед запуском самой консоли, должно появится это:


Теперь прописываем команды для каждого скрипта своя команда, выглядит она вот так:
php C:\Users\SEriA\OneDrive\Рабочий стол\LP\bot.php

php - Что будем выполнять
C:\Users\SEriA\OneDrive\Рабочий стол\LP\bot.php - Полный путь до файла который можно скопировать прямо в проводнике Windows

bot.php - Юзерский
bot2.php - Для группы

Архив с библиотекой и исходниками ниже:

lp.rar

Если есть вопросы, смелее пишите их в комментарии на сайте, с радостью поможем. Так же можете написать какую статью хотели бы видеть на нашем сайте, будем очень благодарны!
  • Сергей Котов
  • 29.11.2020
  • 13 498
  • 13
Python и LongPoll VK, или как запустить скрипт ВК и настроить Python, для новичков
Python и LongPoll VK, или как запустить скрипт ВК и настроить Python, для новичков
29-06-2019, 08:34, Статьи / Python
Динамическая обложка для группы ВК, последний подписчик, топ комментатор и прочее
Динамическая обложка для группы ВК, последний подписчик, топ комментатор и прочее
19-03-2019, 17:23, Статьи / PHP
Как создать образ с Windows 7/10 USB DVD Download Tool / Media Creation Tool
Как создать образ с Windows 7/10 USB DVD Download Tool / Media Creation Tool
25-12-2018, 16:50, Статьи / Программы
Unchecky - Программа, которая снимает галочки за вас!
Unchecky - Программа, которая снимает галочки за вас!
26-12-2018, 18:30, Программы
  1. Kenji Carter

    Kenji Carter@Kenji Carter 8 декабря 2020 06:35

    Не подскажите метод на выдачу администратора в беседе ВКонтакте?
    В документации не нашёл.
    1. Сергей Котов

      Сергей Котов@Сергей Котов 10 декабря 2020 13:48

      Потому что его нет, к сожалению
      1. Kenji Carter

        Kenji Carter@Kenji Carter 10 декабря 2020 14:33

        То есть, нет способа выдачи администратора через бота?
        1. Сергей Котов

          Сергей Котов@Сергей Котов 10 декабря 2020 15:18

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

      Артем Гость 22 декабря 2021 12:42

      ОЧень просто!
      Добавляешь например в базу чела и потом при каждом его сообщении удаляешь его соо

  2. Сергей Олегович

    Сергей Олегович Гость 24 января 2021 15:26

    Вот что пишет в браузере:
    Fatal error: Arrays are not allowed as constants in /Users/********/mysite/simplevk-master/src/config_library.php on line 10
    Помогите!
    1. Сергей Котов

      Сергей Котов@Сергей Котов 25 января 2021 12:23

      Обновите версию PHP до 7.0+
  3. seoonly.ru

    seoonly.ru Гость 27 июля 2021 11:41

    хороший скрипт-)
  4. Гость alex

    Гость alex Гость 11 октября 2021 03:50

    Не подскажите что за ошибка ?
    • Предупреждение: file_get_contents(): Не удалось найти оболочку "https" - вы забыли включить ее при настройке PHP? в C:\Users\admin\Desktop\LP\simplevk-master\src\vk_api.php на линии 269


  5. Гость xakmika

    Гость xakmika Гость 30 октября 2021 14:36

    Ребят а как отправить сообщения кто подписан на группу? А не только тем кто писал в группу 
    1. Сергей Котов

      Сергей Котов@Сергей Котов 8 ноября 2021 01:28

      К сожалению никак 
  6. Стас

    Стас Гость 16 декабря 2021 04:41

    Не подскажите как реализовать мут через бота?

  7. 1

    1 Гость 6 августа 2023 14:22

    Я написал php c:\путь к папке\bot.php и ничего не происходит

{login}

Твой комментарий..

Заказывай!
Разработка ботов на заказ, любой сложности, обращаться:
 VK KOTOFF.net - Сообщество, в личные сообщения или по контактам указанным там 
 mail: [email protected]

Рекламный блок
  • Новости
  • Платная категория
  • Блог
  • Игры
  • Обновления
  • Программы
  • Статьи
    • PHP
    • Python
    • JS
  • Дизайн
    • PSD исходники
  • DLE
    • Шаблоны
    • Модули
    • Хаки
  • Магазин
    • Скрипты
Комментарии
Генерация всевозможных комбинаций из набора символов — комбинаторика в Python (itertools)
Qwertyuiopasdfghjklzxcvbnm 1234567890
Система комментариев на PHP
Полезная статья
Создание простого Telegram-бота с клавиатурой и inline-кнопками [Часть 2]
Класс, хорошая тема
Динамическая обложка для группы ВК, последний подписчик, топ комментатор и прочее
Как отключить вывод результата cron в папку modules/cron в Open Server? Крон запускает несколько
Динамическая обложка для группы ВК, последний подписчик, топ комментатор и прочее
Планируете ли вернуться к динамической обложке?
Все комментарии..
Полный список последних комментариев
Лучшие новости
Всего публикаций: 115
Добавлено за сутки: +0
Записей в блоге: 1
Добавлено за сутки: +0
Комментариев: 937
Добавлено за сутки: +0
Пользователей: 4124
Добавлено за сутки: +0
Полная статистика..
Подробная статистика сайта
Loading...

Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter

Полезные ссылки
  • О проекте
  • Наши контакты
  • Администрация
  • Рекламные материалы
  • Идеи и предложения
  • Ответы на вопросы
Информация
  • Условия сделки
  • Способы оплаты
  • Поддержка / F.A.Q
  • Онлайн документация
  • Статистика сайта
  • Список пользователей
Услуги/Работа
  • Разработка ботов ВК
  • Обновление проекта
  • Консультация/поддержка
KOTOFF.net

Copyright © Footer 2019-2023. All right reserved.
KOTOFF.net - Уроки по PHP, SQL, IT новости
Быстрый вход

Используйте социальные сети для быстрой регистрации и авторизации.

Google
ВКонтакте
Яндекс
Mail.ru
Создать аккаунт / Регистрация
Авторизация

Я забыл свой пароль