Avatar billede ranger1 Nybegynder
15. juli 2003 - 23:36 Der er 6 kommentarer og
1 løsning

online status for msn messenger

jeg har fundet dette her script på nettet men kan ikke få det til at virke, det siger hele tiden at den ikke kan conecte til serveren nogen der har en ide ?

<?$msn[Host] = "gateway.messenger.hotmail.com"; //MSN server
$msn[Port] = 1863; // MSN port
$msn[user] = "secondaccount@domain.com";  // Second MSN screenname
$msn[Pass] = "secondaccountpasswordr";  // password
$pic[offline] = "msnoff.gif"; // Relative path to msnoff.png
$pic[online] = "msnon.gif"; // Relative path to msnon.png

// Verander hier onder niet dan blijft hij werken
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;
                          if ($status) {
                              @header("Location: $pic[online]");
                              }
                              else {
                              @header("Location: $pic[offline]");
                              }}?>

Jeg har selvfølig brugt mit eget login name og password der hvor der står $msn[user] = "secondaccount@domain.com";  // Second MSN screenname
$msn[Pass] = "secondaccountpasswordr";  // password

måden man så skulle kunne tjekke det på er sådan her

www.yourdomain.com/msn.php?get=accounttocheck@hotmail.com

dette er til ens egen side
<img src="path/msn.php?get=checkme@hotmail.com">

håber i kan hjælpe mig.
Avatar billede TRoXa Novice
16. juli 2003 - 14:28 #1
prøv at sætte $msn[Host] til 207.46.106.175 i stedet for gateway.messenger.hotmail.com
Avatar billede TRoXa Novice
16. juli 2003 - 14:29 #2
ellers prøv at bruge denne kode .. stort set det samme som din .. har bare rettet en lille smule i den :)

<?
$msn[Host] = "207.46.106.175"; //MSN server
$msn[Port] = 1863; // MSN port
$msn[user] = "msnemail";  // Second MSN screenname
$msn[Pass] = "msnkode";  // password
$pic[offline] = "msnoff.png"; // Relative path to msnoff.png
$pic[online] = "msnon.png"; // Relative path to msnon.png

// Verander hier onder niet dan blijft hij werken
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;
                          if ($status) {
                              echo "<img src=\"$pic[online]\" border=0>";
                              }
                              else {
                              echo "<img src=\"$pic[offline]\" border=0>";
                              }}?>
Avatar billede TRoXa Novice
16. juli 2003 - 14:31 #3
med den kode der .. virker det .. bare ikke lige det med at du kan få billedet frem .. men kører du det jeg lige har skrevet nu .. så kan du se om personen er online eller offline ud fra billedet .. det virker på min .. du kan prøve at åbne min :)

http://80.164.43.5/msn/msn.php?get=tjekenperson@msn.dk
Avatar billede ranger1 Nybegynder
16. juli 2003 - 15:02 #4
den siger stadig cant conect til server har også prøvet at ændre
$msn[user] = "msnemail";  // Second MSN screenname
$msn[Pass] = "msnkode";  // password
til dem jeg bruger til msn messenger men det hjalp ikke havd bruger du der ?
Avatar billede TRoXa Novice
16. juli 2003 - 15:36 #5
jeg bruger min email troxa_2000@hotmail.com og mit kodeord som jeg ikke vil skrive ..

Du husker, at du ikke må bruge samme email i $msn[user] som du er logget ind med på msn ikke ?
Avatar billede ranger1 Nybegynder
28. juli 2003 - 10:23 #6
ok ja det virkede ikke lige på den server jeg skulle bruge det på men har fundet en anden så jeg kan få det til at virke mange tak for hjælpen gør lige sådan at jeg kan give dig de points du skal have for hjælpen
Avatar billede TRoXa Novice
29. juli 2003 - 03:55 #7
Hvordan kan jeg gøre det ? :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester