Читаем все сообщения ВКонтакте
Если вы участвуете в нескольких беседах или просто давно не заходили в ВК у вас скорее всего накопилась уйма непрочитанных сообщений. Вы конечно можете читать их вручную, чтобы счётчик слева вас не раздражал, но зачем, весть есть великая сила — автоматизация. Сегодня я хочу выложить короткий и простой скрипт который помечает все сообщения как прочитанные.
Код:
<? /* Чтобы получить токен -- перейдите по ссылке, разрешите доступ и из адресной строки скопируйте значение access_token http://oauth.vk.com/authorize?response_type=token&client_id=3227993&scope=offline,messages */ $token = ''; addlog('Start!'); $allMid = array(); addlog('Get msg...'); while (true) { $getMsg = api('messages.get', 'access_token='.$token.'&filters=1&count=100&offset='.$s); if (count($getMsg['response']) == 1) break; for ($i = 1; $i < count($getMsg['response']); $i++) { $allMid[] = $getMsg['response'][$i]['mid']; } $s += 100; } $allMid = implode(',', $allMid); addlog('Marking msg...'); api('messages.markAsRead','access_token='.$token.'&mids='.$allMid); addlog('Marked completed!'); function api($method, $parametrs) { $getApi = curl('https://api.vk.com/method/'.$method.'?'.$parametrs); return json_decode($getApi, true); } function addlog($text){ echo date('H:i:s: ').$text.PHP_EOL; } function curl($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $response = curl_exec ($ch); curl_close($ch); return $response; } ?>