Скрипт авто-статуса во вконтакте

С давних пор, когда я еще был активным пользователем сети Фидонет, мне безумно нравилось использовать плагин для Winamp, который генерировал строку прослушиваемой в данный момент композиции. После перехода на foobar2000 я продолжал его использовать.

Это увлечение вылилось в подключение к last.fm, куда я с 2008 года вливаю информацию о прослушиваемой музыке.

В прошлом году меня заусило снова выводить информацию о прослушиваемой музыки куда-нибудь публично помимо last.fm. Я пытался вывести ее на свой сайт, но как я понял, строка кешировалась и не обновлялась в реальном времени.

Некоторое время спустя я наткнулся на сайт, посвещенный всяким вконтактовским штукам. Там были дурацкие скрипты авто-статусов (типа количество друзей, температура в городе, текущее время и тому подобное). Угадайте, что я сделал =)

Правильно. Скрипт для авто-статуса вконтакте, который отображает воспроизводимую в данный момент композицию. Информацию я решил брать с last.fm

Скрипт написан на php. Для его работы потребуется php-хостинг и планировщик, который будет регулярно запускать этот скрипт. Я запускаю его раз в три минуты

*/3 * * * * /путь/до/php -q /путь/до/скрипта/lasfm2vk.php

Для доступа к last.fm используется API.

API_KEY получают тут: http://www.lastfm.ru/api/accounts

так же потребуется токен. Его брать тут: http://u.to/token-vk-dlja-avtostatusa/EnTlBQ

Сам скрипт такой:

<?php
$access_token = 'TOKEN'; // get token from http://u.to/token-vk-dlja-avtostatusa/EnTlBQ

function scrobbler() {

$request_url = 'http://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=USER&api_key=API_KEY';

$xml = simplexml_load_file ($request_url);
$title = $xml->recenttracks->track->name;
$artist = $xml->recenttracks->track->artist;
$album = $xml->recenttracks->track->album;
$nowplaying = $xml->recenttracks->track->attributes()->nowplaying;

if (!is_null($nowplaying) && $nowplaying == 'true') {
return '&#128266; ' . $artist . ' / ' . $album . ' / ' . $title;
}
return '&#128263;';
}

$lastfm = scrobbler();

#$status = $lastfm;
$status = scrobbler(); 
$url = curl('https://api.vk.com/method/status.set?text='.urlencode($status).'&access_token='.$access_token);
function curl( $url ){
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
$response = curl_exec( $ch );
curl_close( $ch );
return $response;
}
?>

При работе скрипт отображает статус таким образом

lasfm2vk_play

Если ничего не воспроизводится, то статус становится таким

lasfm2vk_stop

Другие публикации по теме:

Melomania С давних пор (года, наверное, с 2010) периодически начинаю пользоваться программой для Windows под названием Melomania.На мой взгляд (даже нын...
Ят-Ха снова в Иркутске По причине 55-летия барабанщика и перкуссиониста группы Евгения Ткачова и наступлении времени для небольшого отдыха на родине, группа Ят-Ха по дороге ...
Битва черных звезд! Тимати vs. Д.Боуи... Битва черных звезд. Боуи против ТиматиДэвид Боуи - Blackstar Слушайте Blackstar — David Bowie на Яндекс.МузыкеТимати - Blackstar Слушайте B...
Behemoth и витки истории мира Я продолжаю все еще читать "Человек, который смеется" Виктора Гюго. И сегодня мне попался вот такой отрывок. Это просто один в один с теми событиями, ...

Поделиться информацией с друзьями!

Чтобы не пропустить обновления, подпишись на RSS или почтовую рассылку (свой выбор сделали уже 128 человек!)

3 комментария к “Скрипт авто-статуса во вконтакте

Оставить комментарий