Наша группа в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

Проверка статуса пользователя в Skype

В документации Skype можно найти много полезного и в частности:

    Статус Skype в разных форматах:
  • XML output URI: http://mystatus.skype.com/skypename.xml
  • NUM output URI: http://mystatus.skype.com/skypename.num
  • TXT output URI: http://mystatus.skype.com/skypename.txt
  • Image output URI: http://mystatus.skype.com/skypename

* According to Skype documentation ( https://developer.skype.com/Docs/Web?action=AttachFile&do=get&target=2006-06-06skypewebdevnotes.pdf ),
* we can check skype status through http://mystatus.skype.com/<username>.<ext>
* Available <ext> are :
* .xml (returns complete xml with status in 12 languages and number)
* .txt (returns a string (warning : language depends on client configuration!) )
* .num (return only status number [1 = offline, 2 = online, 0 = account doesn't exist]
* <non> (return basic image)
* This class takes only .num, as it's very easy to use it. It checks only if it doesn't match "1". others are considered as online.
* If status == 0, account doesn't exist, so we return false.
* It can give other status as simple numbers if you wish (there's a function for this inside the class).
* Requiered :
* 1- fopen for external files support
* 2- well, nothing else I guess ;)
* @author C. Jeanneret <cjeanneret@internux.ch>

Copyright (C) 2007 Jeanneret Internux

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

class checkSkype {
 /* Should be private : skype status server URL
  * @var string  */
 var $url;
 /* Account we want to check
  * @var string  */
 var $account;
 /* Status. Should also be private
  * @var bool  */
 var $status;

 /* Constructor
  * @param string $account
  * @return checkSkype  */
 function __construct($account) {
  $this->account = $account;
//  $this->url = ''.$this->account.'.num';
  $this->url = ''.$this->account.'.num';

 /* Just grab status */
 function getStatus() {
  $num = file($this->url);
  $this->status = $num[0];

 /* Check if status == 2
  * @return bool true if so */
 function isOnline() {
  return ($this->status != 1 && $this->status != 0);


Пример использования:

 $skype = new checkMSN('kdg_22');