webForumDet fria alternativet

Icq

PHPur PHP

5 svar · 275 visningar · startad av Kalle anka

Medlem sedan maj 200120 inlägg
Frågan#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

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

[Redigerat av Csson den 24 sep 2001]

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;

...

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

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

  }
130 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)