webForumDet fria alternativet

Icq

5 svar · 275 visningar · startad av Kalle anka

Kalle ankaMedlem sedan maj 200120 inlägg
#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?

BeaR123Medlem sedan aug. 200191 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...

Kalle ankaMedlem sedan maj 200120 inlägg
#3

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

CssonMedlem sedan feb. 2000314 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

------------------
Erimax.com
Cykelsemester

[Redigerat av Csson den 24 sep 2001]

LfeMedlem 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;

...

------------------
Johan Bergström
mt00jbe@student.bth.se

haardMedlem 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';

  }
127 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
124 ms — hämta tråd, inlägg och bilagor (db)