MSN Status?

Web tabanlı uygulama geliştirme araçları(PHP, ASP vb...) ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

MSN Status?

Mesaj gönderen salvation »

hani icq da bir kişi online olduğunda minik bi resim vardır, o online olarak gösterir bilirisiniz. Aynı şey msn messenger için olabiliyormu?
mania
Üye
Mesajlar: 16
Kayıt: 21 Haz 2004 04:40

Mesaj gönderen mania »

PHP ile yapabilirsin. Aşağıdaki PHP dosyasını oluşturup icon u göstermek istediğin yerde <img src="msn.php?get=golfthaimisc@hotmail.com"> kullanman yeterli

Kod: Tümünü seç

<?
$msn[Host] = "207.46.106.175"; //MSN server
$msn[Port] = 1863; // MSN port
$msn[user] = "";  // ãËéàá¡éä¢à»ç¹ E-mail MSN ·Õè¨&ETH;ãªé㹡Òà àªç¤ status ¤ÃѺ
$msn[Pass] = "";  // password ¢Í§ E-mail ¹Ñé¹
$pic[offline] = "msnoff.png"; // Relative path to msnoff.png
$pic[online] = "msnon.png"; // Relative path to msnon.png

if (!$get){?>
<html>
<head>
</head>
<body>
<img src="<? echo $pic[offline]; ?>" border="0" name="msn">
</body>
</html>
<? 
exit;
}
	
msn_connect();
function msn_connect() {
		global $debug, $msn, $nr, $fp;	$nr = 0;
			if($debug) { 
				echo "<p><b>Connecting to msn $msn[Host]:$msn[Port]</b><br>";
				 }
			if($fp = fsockopen ($msn[Host], $msn[Port], $errno, $errstr, 30))
			{msn_send("VER $nr MSNP7 CVRO",$fp);
		         while (!feof($fp)) {
		         	    	usleep(1);
		         	    	   if (msn_get(ereg_replace("\r\n", "", fgets($fp,128))) == "1") { 
		         	    	   	die(blieb);
		         	    	   	 };
		         	    	   	     }} 
		         	    	   else { 
		         	    	   	die("cannot connect to msn server");
		         	    	   	 }}
		         	    	   	 
		        function msn_send($text, $conn) {
		        	global $debug;
		        	if ($debug) { 
		        		echo "<font color=\"red\">$text</font><br>\n";
		        		 }
		        	fputs ($conn, "$text\r\n");
		        	global $nr;$nr++;  }
		        function msn_get($msg) {
		        	global $fp, $nr, $msn, $debug, $fp2;
		        	if ($debug) { 
		        		echo "<font color=\"blue\">$msg</font><br>\n";
		        		 }	
		        	$msg = explode(" ", $msg);
		        	if (strtolower($msg[0]) == "ver") {
		       		msn_send("INF $nr", $fp);
		       		} 
		       		elseif(strtolower($msg[0]) == "inf") {
		       			msn_send("USR $nr MD5 I $msn[user]", $fp);
		       			} 
		       		elseif (strtolower($msg[0]) == "usr" AND strtolower($msg[2]) == "md5") {
		       			msn_send("USR $nr MD5 S ".MD5(trim($msg[4].$msn[Pass])), $fp);
		       			} 
		       		elseif (strtolower($msg[0]) == "usr" AND strtolower($msg[2]) == "ok") {
		       			msn_send("CHG $nr BSY", $fp);
		       			msn_send("XFR $nr SB", $fp);
		       			} 
		       		elseif (strtolower($msg[0]) == "xfr" AND strtolower($msg[2]) == "ns") {
		       			$tmp = explode(":", $msg[3]);
		       			$msn[Host] = $tmp[0];
		       			$msn[Port] = $tmp[1];
		       	 		fclose($fp);
		       	 		msn_connect();
		       	 		} 
		       	 	elseif (strtolower($msg[0]) == "xfr" AND strtolower($msg[2]) == "sb") {
		       	 		$tmp = explode(":", $msg[3]);
		       	 		$msn[sb_host] = $tmp[0];
		       	 		$msn[sb_port] = $tmp[1];
		       	  		$msn[sb_cki] = $msg[5];
		       	   		fclose($fp);
		       			if($debug) { 
		       				echo "<p><b>Connecting to sb $msn[sb_host]:$msn[sb_port]</b><br>";
		       				 }		
		       			if($fp2 = fsockopen ($msn[sb_host], $msn[sb_port], $errno, $errstr, 30)){			
		       				$start = time()+5;
		       				msn_send("USR $nr $msn[user] $msn[sb_cki]",$fp2);
		       				while (!feof($fp2)) {
		       					if (time() >= $start) { 
		       						showstatus(0); 
		       						exit; 
		       					}    				
		       			usleep(1);        			
		       			msn_sb_get(ereg_replace("\r\n", "", fgets($fp2,128)));
		       			   			}		} 
		       			   else { die("cannot connect to sb"); }
		       			   }}
		       			   
		       		function msn_sb_get($msg) {
		       			global $fp2, $nr, $msn, $debug, $get;
		       			if ($debug) { 
		       				echo "<font color=\"green\">$msg</font><br>\n"; 
		       				}	
		       			$msg = explode(" ", $msg);
		       			if (strtolower($msg[0]) == "usr" AND strtolower($msg[2]) == "ok") {
		       				msn_send("CAL $nr $get",$fp2);
		       				} 
		       			elseif (strtolower($msg[0]) == "217") {
		       				showstatus(0);
		       				fclose($fp2);
		       				exit;
		       				} 
		       			elseif (strtolower($msg[0]) == "joi") {
		       				showstatus(1);
		       				fclose($fp2);
		       				exit;	
		       				} 	}
		       		function showstatus($status) {
		       			global $pic,$get;
		       			if ($status) {
							Header("Content-Type: image/png"); 
								$fn=fopen("$pic[online]","r"); 
							fpassthru($fn); 
							fclose($fn);
		       			} else { 
							Header("Content-Type: image/png"); 
							$fn=fopen("$pic[offline]","r"); 
							fpassthru($fn); 
							fclose($fn);
		       			}
					}?>
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

bu kodu daha öncede incelemiştim fakat genelde hep offline döndürüyor veya hiçbirşey döndürmüyor.

kodun çalışıp çalışmadığını sende test edermisin?

birde
http://www.foxinus.cz:8085/ da bu hizmeti veriyor ama genelde çalışmıyo zaten. Çalışsada @hotmail.com dışındakileri hep offline gösteriyor.

Bir çok php script sitesini araştırdım, son çare olarak sordum..
Cevapla