Icq

PHP

5 svar · 291 visningar · startad av Kalle anka

Medlem sedan maj 200120 inlägg
Trådstart#1

Hej jag undra om någon vet hur man gör en icq grej som kollar om man är online på icq ja ni vet.
Jag har varit på wf script och hittat det här :
<?
/* a collection of ICQ services - code by Johan Bergström'2001 [mt00jbe@student.bth.se] */
function sendICQ($uin, $name, $email, $subject, $body)
/* function for sending an pager message to a ICQ UIN
* @param:
* $uin = target UIN
* $name = sender's name
* $email = sender's email
* $subject = pager subject
* $body = pager content
*/

{
$name = urlencode($name);
$email = urlencode($email);
$subject = urlencode($subject);
$body = urlencode($body);

$icqURL = "http://wwp.mirabilis.com/scripts/WWPMsg.dll?subject=$subject&to=$uin&from=$name&fromemail=$email&body=$body";

if((fopen($icqURL , "r")))
{
return "the message was sent successfully";
}

else
{
return "an error occured.";
}

fclose($icqURL);
}

function checkICQStatus($uin, $type)
/* gets the icq status for a ICQ UIN
* @param:
* $uin = target UIN
* $type = return typ, 1 = text, 2 = values | return val: [-1 = error, 0 = offline, 1 = online, 2 = disabled]
*/

{

$arr = @file("http://wwp.icq.com/scripts/online.dll?icq=$uin&img=1");
$len = strlen($arr[1]);

if($type == 2)
{
$ret = -1;

if ($len == 105) $ret = 1;
if ($len == 18) $ret = 2;
if ($len == 0) $ret = 0;
}

else
{
$ret = "error";

if ($len == 105)$ret = "online";
if ($len == 18) $ret = "disabled";
if ($len == 0) $ret = "offline";
}

return $ret;
}

?>

men det fungerar inte vet någon vad felet är?

Medlem sedan aug. 200190 inlägg
#2

Varför inte gå till www.icq.com och skaffa en sådan sak. Det är ju bara en img tag på en rad...

Medlem sedan maj 200120 inlägg
#3

Jag har varit på www.icq.com men jag lyckas inte hitta nåt.

Medlem sedan feb. 2000438 inlägg
#4

<img src="http://wwp.icq.com/scripts/online.dll?icq=dittnr&img=1">

Den sista siffran kan ändras mellan 1 och 7(?) för att få olika utseende.

/Csson

Medlem sedan juni 200145 inlägg
#5

klart det fungerar!

förstår inte vad du gjort fel, det är ungefär så enkelt det kan bli,

kör funktionen:
$status = checkICQStatus(dittICQnr,1);

skriv ut:
echo $status;

...

Medlem sedan mars 200121 inlägg
#6

ondöigt långt script


$uin = "uinet";

function get_status($uin)

  {

    $fp = fsockopen ("wwp.icq.com", 80, &$errno, &$errstr, 30);

    if(!$fp)

    {

      echo "$errstr ($errno)<br>\n"; 

    } else {

      fputs($fp, "GET /scripts/online.dll?icq=$uin&img=7 HTTP/1.0\n\n");

      $line = fread($fp, 2048);

      if (strlen($line) == 884)

      { 

        return 'online';

      }

      elseif (strlen($line) == 1322)

      {

        return 'disabled';

      }

      elseif(strlen($line) == 667)

      {

        return 'offline';

      }

      fclose($fp);

    }

    return 'unknown';

  }
246 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
116 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
115 ms — ändringar (db)