Отправка сообщений всем пользователям(друзьям) в vk через скрипт
Для того чтобы оправлять сообщения пользователям(своим друзьям) или другим через консоль, используя php скрипт необходимо выполнить несколько шагов.
Шаг1. Создать в VK standalone-приложение vk.com/editapp?act=create
Имя пишем какое угодно — фигурировать оно нигде не будет.
Тип — Standalone-приложение.
Далее потребуется ввести код с смс-ки которая придет на привязанный к аккаунту номер. После ввода кода ничего не меняем в полях, идем в настройки и копируем ID приложения.
Шаг2. Перейдем по ссылке вида
https://oauth.vk.com/authorize?client_id=ИД_ПРИЛОЖЕНИЯ&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=ПРАВА_ДОСТУПА&response_type=token&v=5.37
где,
заменяем CLIENT – на id вашего приложения послу выполнения шага 1.
заменяем ПРАВАДОСТУПА – на права для вашего приложения,например(messages,wall,photos,friends). Более подробно о правах – здесь здесь.
Вставим строку в адресную строку браузера и нажмем Enter. Появится окно
Нажимаем разрешить.
В адресной строке появиться новая строка с токеном такого вида. Токен выделен красным. Он то нам и нужен. Он начинается после token= и заканчивается перед &. Скопируем его куда нибудь.
Теперь собственно сам скрипт php, который отправляет сообщение всем пользователям вк, указанным в массиве. Для его использования необходимо чтобы в системы был пакет curl и php-cli, в интернете найдете без проблем инструкции для Linux(если у вас винда – “бейтесь головой”).
//Создадим переменную, 1 - текст $text = "$argv[1]"; $token=""; $id = array(юзерid1, юзерid2); foreach ($id as &$value) { $address="https://api.vk.com/method/messages.send?user_id=$value&v=5.37&access_token=$token&message=$text"; // создание нового ресурса cURL $ch = curl_init(); // установка URL и других необходимых параметров curl_setopt($ch, CURLOPT_URL, "$address"); echo "$address"; //а это что бы на страницу не выводилось curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); //это в справочнике прочтете curl_setopt($ch, CURLOPT_HEADER, 0); // загрузка страницы и выдача её браузеру другими словами при открытии страницы где вы этот скрипт сделаете автоматически отправится сообщение в заданный вами телеграм чат. curl_exec($ch); // завершение сеанса и освобождение ресурсов curl_close($ch); }
где
юзерid1, юзерid2 – надо заменить на id пользоветелей, которым вы хотите отправлять сообещения(может быть сколько угодно),
$token =””;между кавычками вставляем токен,который мы получили выше.
Ограничения на отправку(обращение к api) vk – не более 3-х в секунду.
Теперь нам надо получить список пользователей, которым мы будем отправлять сообщения.
Это делается запросом вида в адресной строке или через консоль:
В строке браузера
https://api.vk.com/method/friends.get?user_id=вашюзер_ид&message='test'&v=5.37&access_token=токен
В консоли Linux
curl -i https://api.vk.com/method/friends.get?user_id=вашюзер_ид&v=5.37&access_token=токен
Он вернет вам массив с пользователями, который вы вставите в скрипт.
Запуск скрипта
Переходим в каталог со скриптом и запускаем его через консоль. Допустим мы сохранили скрипт с именем script.php
chmod 775 script.php
php script.php "Отправленный_текст"
В тексте не должно быть пробелов, пока не разобрался как отправлять с пробелами.
Для тестирования можете отправить себе.