От тех времен, когда приложение Модератор было идеальным, бесплатным и работало как часы, почти ничего не осталось. Телеграм заблокировали, приложение платное и периодически падает. В общем, печаль.
Поэтому нужны альтернативы. Ибо все, что предоставил нам ВК за эти годы — это программа VK Admin для телефона. Которая имеет подобный функционал.
Но никому не нужно объяснять что телефон — не совсем то, что нужно для полноценного ведения сообщества.
Я уже делал обзоры многих аналогов, но в последнее время я все чаще рекомендую клиентам именно уведомления в личку ВКонтакте.
Подобное умеет бесплатный сервис с названием Callback API Бот. Его функционал — получение уведомлений из Callback API вашего сообщества и отправка их содержимого в личку (вам или вашим сотрудникам).
Уроки PHP / VK API читаем сообщения из группы ВКонтакте
Использовать просто. Пишите боту, внимательно читаете его ответы и следуете инструкциям. Если ничего не пропустите и все сделаете правильно, то этот же бот начнет вам присылать уведомления.
Написать боту: https://vk.com/im?sel=-131851952
Наглядно процесс настройки можете посмотреть в прикрепленном видео.
ВАЖНО! Одно из главных действий настройки (отметить галочками типы событий) я пропустил во время демонстрации и показал в конце. Не забудьте о нем, так как без этого бот работать не будет.
Лайк, если было полезно, а я желаю вам творческих взлетов и эффективного использования инструментов для ВК.
Источник: skyjoom.com
Отправка уведомлений из Asterisk в ВКонтакте через API ВК
На текущий момент ВКонтакте – одна из самых популярных социальных сетей. Ежедневно большинство людей проводят в ней своё свободное время: время тратится на музыку, видео, общение и многое другое. Однако в ВКонтакте также хорошо процветает и бизнес. Различные компании имеют в данной социальной сети сообщества, на которое подписано множество людей. Из этих сообществ пользователям рассылаются […]
На текущий момент ВКонтакте – одна из самых популярных социальных сетей. Ежедневно большинство людей проводят в ней своё свободное время: время тратится на музыку, видео, общение и многое другое. Однако в ВКонтакте также хорошо процветает и бизнес. Различные компании имеют в данной социальной сети сообщества, на которое подписано множество людей.
Скачиваем сообщения из беседы или диалога ВК Вконтакте [Python, VK API]
Из этих сообществ пользователям рассылаются различные уведомления об акциях компаний. Но, зная ID сотрудников компании, им можно также отсылать различные уведомления, касающиеся работы.
В данной статье рассмотрим возможность отправки уведомлений из Asterisk в ВКонтакте на примере API ВКонтакте.
Подготовка на стороне ВКонтакте
Интегрировать ВК с Asterisk можно с помощью Standalone-приложения и сообщества.
Для интеграции первым способом приложение нужно отправить на проверку.
Подробнее об этом можно посмотреть в документации по API ВК «Ограничение Messages API» .
В примере же интеграция будет происходить через сообщество.
Для этого у сообщества должны быть включены сообщения, а также должен иметься ключ доступа с разрешёнными сообщениями.
Для начала включим сообщения сообщества:
- В сообществе переходим в Управление ->Сообщения;
- Сообщения сообщества: включены (выбираем из списка).
Затем нужно создать ключ доступа:
- В сообществе переходим в Управление ->Работа сAPI;
- На вкладке Ключи доступа нажимаем кнопку Создать ключ;
- Разрешаем приложению доступ к сообщениям сообщества.
На этом подготовка на стороне ВКонтакте завершена.
Проверить отправку сообщений можно ссылкой:
https://api.vk.com/method/messages.send?v=5.37message=TEXT
— TEXT – текст сообщения;
— YYY – ID получателя.
Чтобы получателю пришло сообщение, нужно соответствующее разрешение. Например, получателю для начала нужно написать в сообщество
Если получили вывод такой, как написано ниже, всё сделано верно, и сообщение от сообщества пришло на нужный ID.
— N – число сообщений в диалоге с получателем.
Перейдём к следующему шагу.
Подготовка на стороне сервера телефонии
Для начала нужно определиться с задачей, которую будем реализовывать. В примере рассмотрим отправку уведомлений о пропущенном вызове в очереди.
Подробнее о том, как реализовать отправку уведомлений о пропущенных из очереди, можно прочитать в статье «FreePBX. Настройка Астериск для уведомлений о пропущенных входящих вызовах» .
Уведомления должны приходить всем операторам данной очереди.
Затем напишем скрипт, с помощью которого будем интегрироваться с ВКонтакте. Для этого в директории /var/www/html создадим папку vkapi. В ней будет храниться наш скрипт vkmess.php.
‘5.37’, ‘access_token’ => $key, ‘message’ => $text, ‘user_ids’ => implode(‘,’, $to), ); SendVKMessages($data, $url); function SendVKMessages($data, $url) < $ch = curl_init(); $par = http_build_query($data, », ‘ curl_setopt($ch, CURLOPT_URL, $url . «?$par»); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); >?>
Подробно рассмотрим, что делает скрипт. В начале скрипта объявляем необходимые переменные: номер звонящего, время поступления вызова, ключ доступа к сообществу, текст сообщения и ссылку для отправки сообщений.
Далее прописываем первый массив — $id. В нём будут храниться все нужные нам ID получателей. В переменной $to делаем проверку на то, является ли массивом $id.
Максимально можно указать до 100 получателей. ID получателей обязательно должны быть разделены символом ‘,’.
Затем прописываем второй массив — $data. Здесь указаны необходимые параметры, которые нужно передать в запросе: версия API, ключ доступа, текст сообщения, а также ID всех получателей, перечисленные через запятую.
Объявляем функцию для отправки сообщений, и передаём в неё массив с параметрами и URL. В самой функции формируем GET-запрос нужного вида, в котором все параметры указаны через ‘ h,1,NoOp(No Answer for queues) same => n,ExecIf($[«$»!=»from-internal»]?System(/usr/bin/php -f /var/www/html/vkapi/vkmess.php $)) same => n,Macro(hangupcall,)
Применим правки и совершим вызов. Как видно из лога, скрипт был вызван.
Теперь перейдём в ВКонтакте и посмотрим результат тестирования нашего функционала. Из скриншота ниже видно, что сообщение пришло. Также оно пришло и другим получателям, указанным в скрипте.
На этом шаге статья по отправке уведомлений из Asterisk в ВКонтакте завершена.
Источник: voxlink.ru
Получение участников сообщества vk.com за считанные секунды
2015-01-24 в 10:21, admin , рубрики: api vk, execute, Вконтакте API, участники группы
Ни для кого не секрет, что VK API возвращает за один запрос к методу groups.getMembers не более 1 000 участников. В одну секунду вы можете получить максимум 3 000 участников, так как установлено ограничение на количество запросов в секунду до 3. Эту проблему решает метод execute, с помощью которого вы можете получить более 100 000 участников за одну секунду и до 25 000 участников за один запрос. В этой статье я расскажу Вам, как я это реализовал.
Без использования метода execute, процесс получения участников группы с аудиторией в 4 000 000 человек займет примерно около 22 минут, и нам нужно будет выполнить около 4 000 запросов к API. С помощью метода execute мы ускорим этот процесс примерно до 40 секунд и выполним всего около 160 запросов.
I. Немного о execute
Это универсальный метод, который позволяет запускать последовательность других методов, сохраняя и фильтруя промежуточные результаты.
Делается обычный запрос как и на все другие методы, но в параметрах нужно передать code написанный на VKScript.
Что поддерживает VKScript и что это?
Это язык похожий на JavaSсript или ActionScript. Алгоритм должен завершаться командой return %выражение%. Операторы должны быть разделены точкой с запятой.
С помощью этого метода, мы можем получить результат нескольких методов за один запрос API.
II. Реализация на javascript
Чтобы работать с Open Api нам нужно подключить библиотеку OpenApi.
Пройдем авторизацию приложения VK и объявим массив:
VK.init(< apiId: 4235235 // ID вашего приложения VK >); var membersGroups = []; // массив участников группы
Получим информацию о группе:
// получаем информацию о группе и её участников function getMembers(group_id) < VK.Api.call(‘groups.getById’, , function(r) < if(r.response) < $(‘.group_info’) .html(‘
‘ + r.response[0].name + ‘
Участников: ‘ + r.response[0].members_count); getMembers20k(group_id, r.response[0].members_count); // получаем участников группы и пишем в массив membersGroups > >); >
Чтобы получить участников группы мы будем использовать execute, за один запрос мы получим 25 000 участников. Execute позволяет сделать до 25 запросов описанных с помощью языка VKScript. В параметре code нам нужно передать алгоритм на языке VKScript. Я это сделал следующим образом.
var id_app = [2866099, 4195289, 4195287, 4195284, 4161477, 4161462, 4149350, 4149349, 4149336, 2394133, 3043953]; var apiID_index = Math.floor(Math.random() * (id_app.length)); VK.init(< apiId: id_app[apiID_index] // ID вашего приложения VK >); var membersGroups = []; // массив участников группы getMembers(30666517); // получаем информацию о группе и её участников function getMembers(group_id) < VK.Api.call(‘groups.getById’, , function(r) < if(r.response) < $(‘.group_info’) .html(‘
‘ + r.response[0].name + ‘
Участников: ‘ + r.response[0].members_count); getMembers20k(group_id, r.response[0].members_count); // получаем участников группы и пишем в массив membersGroups > >); > // получаем участников группы, members_count — количество участников function getMembers20k(group_id, members_count) < var code = ‘var members = API.groups.getMembers().items;’ // делаем первый запрос и создаем массив + ‘var offset = 1000;’ // это сдвиг по участникам группы + ‘while (offset < 25000 (offset + ‘ + membersGroups.length + ‘) < ‘ + members_count + ‘)’ // пока не получили 20000 и не прошлись по всем участникам + ‘).items;’ // сдвиг участников на offset + мощность массива + ‘offset = offset + 1000;’ // увеличиваем сдвиг на 1000 + ‘>;’ + ‘return members;’; // вернуть массив members VK.Api.call(«execute», , function(data) < if (data.response) < membersGroups = membersGroups.concat(JSON.parse(«[» + data.response + «]»)); // запишем это в массив $(‘.member_ids’).html(‘Загрузка: ‘ + membersGroups.length + ‘/’ + members_count); if (members_count >membersGroups.length) // если еще не всех участников получили setTimeout(function() < getMembers20k(group_id, members_count); >, 333); // задержка 0.333 с. после чего запустим еще раз else // если конец то alert(‘Ура тест закончен! В массиве membersGroups теперь ‘ + membersGroups.length + ‘ элементов.’); > else < alert(data.error.error_msg); // в случае ошибки выведем её >>); >
getMembers(IDгруппы);
Исходники и примеры
На случай если слишком много человек в раз попытается выполнять запросы с одного приложения VK, выглядело так:
Источник: www.pvsm.ru