Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Icq status auslesen ? Antworten
Icq status auslesen ?

acid
Pixelschubser


Beiträge: 3


ihr koennt das auch sehr viel einfacher machen und einfach den link hier als bild einbinden
http://wwp.icq.com/scripts/online.dll?icq=UIN&img=5

anstatt UIN halt die icq nr, dan zeigt es euch an, z.b. ne gruene blume falls on, ne rote falls off, ne graue falls er den status disabled hat,
ueber img koennt ihr verschiedene bilder auswaehlen die den status anzeigen,
glaub 1 bis 15 is moeglich.

  Profil   E-Mail   Editieren   Zitieren

Xeal
Otto-Normal-Poster


Beiträge: 86


lies mal den threat genau durch ...
Ich will nämlich nicht die standart on/off pics...

---
www.xeal.de : Bald in der Sommerversion !

  Profil   E-Mail   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


HG schrieb am 03.05.2003 16:26
Ich hab das mal gestestet, und es erscheint, daß der ICQ-Server folgendes zurückgibt:
1: 
2: 
3:
Location: http://status.icq.com/online.gif?icq=158610375&img=5


Ich denke, daß du aus diesem String erstmal rausziehen musst, ob online oder nicht, und dann das entsprechende Bild in den HTML-Code einfügen musst.

=> das Skript kommt an den verschiedenen if's mit return werten vorbei und gibt dann anschließend false zurück.


Wie willst du aus dem String denn den Status auslesen? Der steht da doch gar nicht drin.

Ich bin noch mal über diesen Link gestolpert. Der sagt zumindest schon mal was, auch wenn's überall nur offline ist: http://alfaweb.ch/cgi-forum/php_icq-status-abfragen.php

---
Take a look here!
Lichtblick - Einblick - Ausblick

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Ich hab glaub ich gerade eine Lösungsmöglichkeit gefunden. Weiß nur noch nicht wie das in PHP zu realisieren ist:
Die Whitepages benutzen folgende Abfrage:
1:
http://people.icq.com/whitepages/online/1,,,00.gif?icq=125520245&img=20

Wenn der user online ist wird auf http://status.icq.com/20/online1.gif weitergeleitet, bei offline auf http://status.icq.com/20/online0.gif und bei allem anderen auf http://status.icq.com/20/online2.gif . Das muss jetzt nur noch abgefragt werden und dann kann man die neuen Bilder da drüberlegen.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

MCM
Quasselstrippe


Beiträge: 425


Hi,
was du dort hast (@ acid) ist ein bild.

Setzt das mal in ein bild tag, so etwa

1:
<img src="http://web.icq.com/whitepages/online?icq=125520245&img=20" border="0">


Und dann hats du das Standardbild.

---
cya MCM

[my page] [about me]

[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]

Diese Nachricht wurde geändert von: MCM
  Profil   Website   Editieren   Zitieren

MCM
Quasselstrippe


Beiträge: 425


Außerdem gibts unegefähr 25 verschiedene fertige Bilder von denen, wozu dann was eigenes. Einiges von denen ist sogar noch recht neutral


---
cya MCM

[my page] [about me]

[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]

  Profil   Website   Editieren   Zitieren

Xeal
Otto-Normal-Poster


Beiträge: 86


@ MCM:
Ich will aber nunmal nicht die standart bilder...
Auch wenn sie neutral sind

---
www.xeal.de : Bald in der Sommerversion !

  Profil   E-Mail   Editieren   Zitieren

MCM
Quasselstrippe


Beiträge: 425


So, will nun mal dieses alte Thema noch mal hervorziehen, da ich soein script jetzt auch brauchte, hb ich mal in nem anderem Forum nachgefragt und dort konnte man mir weiterhelfen. Also, folgender Code, dann klappt es

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31:
<?php
$icq = "331715700";

$fp = fsockopen ("status.icq.com", 80, &$errno, &$errstr, 30) or die("[ERROR - Could not connect to server (status.icq.com)]");  
fputs($fp, "GET /online.gif?icq=$icq&img=5&online= HTTP/1.0\n\n");

while(!feof($fp) && !$icq_finished) {
    $line = fgets ($fp,128);
    if (substr($line,0,9) == 'Location:') {
        if (substr($line,13,11) == 'online1.gif') { // online
            $online = "1";
            $icq_finished = true;

        } else { 

            $online = "0";
            $icq_finished = true;
	}
     }
    }
         fclose($fp);
         
if($online == "1") { 
    echo("Online"); 
} elseif($online=="0") { 
    echo("Offffffline"); 
} else { 
    echo("da stimmt was nicht"); 
}

?>


Musst halt nur die Textausgabe durch Bilde ersetzten. Kompletten Code gibts bei http://www.qatlantis.com/IMIndicator.php zum runterladen, allerdings noch mit allen möglichen Anhang, der eigentlich unnötig ist ;)

---
cya MCM

[my page] [about me]

[Je mehr Bürger mit Zivilcourage ein Land hat, desto weniger Helden wird es einmal brauchen]
[by Franca Magnani]

  Profil   Website   Editieren   Zitieren

Andreas248
Pixelschubser


Beiträge: 1


Hallo,

hätte da mal 2 Fragen zu dem letzten Code:
1. kann ich damit statt on und off auch abwesend mit abrufen?
und
2. hat jemand eine Idee, wieso der Status erkannt wird, wenn ich über ICQ rein gehe, nicht aber, wenn ich die gleiche ICQnr über Trillian nutze?

Danke im Voraus für die Antwort(en)!

Nachtrag:
Also hiermit funktioniert der 3. Status bei mir leider nicht:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22:
<?php
$icq = "XXXXXXXXX";

$fp = fsockopen ("status.icq.com", 80, &$errno, &$errstr, 30) or die("[ERROR - Could not connect to server (status.icq.com)]");  
fputs($fp, "GET /online.gif?icq=$icq&img=5&online= HTTP/1.0\n\n");

while(!feof($fp) && !$icq_finished) {
    $line = fgets ($fp,128);
    if (substr($line,0,9) == 'Location:') {
        if (substr($line,13,11) == 'online1.gif') { $online = "1"; $icq_finished = true;} 
        elseif (substr($line,13,11) == 'online0.gif') { $online = "0"; $icq_finished = true;}
        elseif (substr($line,13,11) == 'online2.gif') { $online = "2"; $icq_finished = true;}
     }
    }
         fclose($fp);
         
if($online == "1") { echo("Online"); } 
elseif($online=="0") { echo("Offffffline"); } 
elseif($online=="2") { echo("anders"); }
else { echo("da stimmt was nicht"); }

?>

Diese Nachricht wurde geändert von: Andreas248
  Profil   Editieren   Zitieren

adik
Pixelschubser


Beiträge: 18


ich hatte gerade erst kürzlich selber mal danach recherchiert und das gefunden:

http://www.icq.com/js/pcc.php?Uin=18006683

man erhält die daten als javascript variablen, aber das kann man ja konvertieren.

z.b. so:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62:
<?
$file = fopen("http://www.icq.com/js/pcc.php?Uin=18006683","r"); 
while ($line = fgets($file, 1024)) { 
    $cont[] = $line;
} 
fclose($file);
for($i=0;$i<count($cont);$i++){
	$t = "";
	$t = explode("=",$cont[$i]);
	if(count($t) > 2){
		$str = "";
		for($j=2;$j<count($t);$j++){
			$str .= $t[$j]."=";
		}
		$icqarr[(str_replace(" ","",$t[0]))] = 	str_replace(
													"\n",
													"",
													str_replace(
														"\r\n",
														"",
														str_replace(
															"/whitepages",
															"http://www.icq.com/whitepages",
															html_entity_decode(
																str_replace(
																	"src=\"/img","src=\"http://www.icq.com/img",
																	str_replace(
																		"&#38;",
																		"&",
																		str_replace(
																			"&#47;",
																			"/",
																			str_replace(
																				"\";",
																				"",
																				str_replace(
																					"\";   ",
																					"\";",
																					substr(
																						substr(
																							$str,
																							0,
																							-1
																						),
																						2
																					)
																				)
																			)
																		)
																	)
																)
															)
														)
													)
												);
	}
}

print_r($icqarr);
?>


---
Die Entfesselung des Atoms hat alles
verändert mit Ausnahme des menschlichen
Denkens. Deshalb treiben wir auf eine
Katastrophe unvorstellbaren Ausmaßes zu.
[A. Einstein]

  Profil   E-Mail   Website   Editieren   Zitieren
Seite 1 | 2  

Antworten
Nach oben