[php] msn script wil niet werken

Pagina: 1
Acties:
  • 95 views sinds 30-01-2008

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:47
ik heb nu het volgende
PHP:
1
<?class MSN_Messenger {    var $msn_host = "messenger.hotmail.com";    var $msn_port = 1863;    var $msn_proto = 'MSNP2';    var $usr_email = ".............@hotmail.com";    var $usr_password = "password";    var $enc = "MD5";    var $trid = 0;    var $connected = false;    var $socket;    var $not_serv;    var $not_port;    function MSN_Messenger() {        $this->msn_connect();    }    function msn_connect() {        if ($this->socket = fsockopen($this->msn_host, $this->msn_port)) {            $this->connected = true;                        // send the version that's supported to the server            $this->msn_send('VER ' . $this->trid . ' ' . $this->msn_proto);            if (eregi('^VER ', $this->msn_recv())) {                echo "\n\nSuccessfully communicated to " . $this->msn_host . ".<BR>";            }            // send a request to the server asking it for the name of the security package it supports for authentication            $this->msn_send('INF ' . $this->trid++);            if (eregi('^INF ', $this->msn_recv())) {                echo "We got the encryption package.<BR>";            }            // send the userid to the server            $this->msn_send('USR ' . $this->trid++ . ' ' . $this->enc . ' I ' . $this->usr_email);            if (eregi('^XFR ', $this->msn_recv())) {                echo "User Passport information sent, awaiting transfer.<BR>";                @list($cmd, $trid, $type, $info, $etc) = explode(' ', $inbound);                $info = trim($info);                echo "Transfer server receved: " . $info . "<BR>";                @list($server, $port) = explode(':', $info);                $this->not_serv = $server;                $this->not_port = $port;                echo "Closing connection for transfer server.<BR>";                $this->connected = false;                $this->msn_notification_connect();            }        }    }    function msn_notification_connect() {        if (!$this->connected) {            if ($this->socket = fsockopen($this->not_serv, $this->not_port)) {                $this->connected = true;                $this->msn_send('VER ' . $this->trid . ' ' . $this->msn_proto);                if (eregi('^VER ', $this->msn_recv())) {                    echo "\n\nSucessfully communicated to " . $this->not_serv . "<BR>";                }                $this->msn_send('INF ' . $this->trid++);                if (eregi('^INF ', $this->msn_recv())) {                    echo "We got the encryption package.<BR>";                }                                $this->msn_send('USR ' . $this->trid++ . ' ' . $this->enc . ' I ' . $this->user);                $inbound = $this->msn_recv();                if (eregi('^USR ', $inbound)) {                    @list($cmd, $trid, $enc, $mode, $digest) = explode(' ', $inbound);                    if (trim($mode) == 'S') {                        echo "Encryption mode recv'd...<BR>";                        $encpass = md5(trim($digest) . $this->_pass);                        $this->msn_send('USR ' . $this->trid++ . ' MD5 S ' . $encpass);                        echo "Encryped user password sent: " . $encpass . "<BR>";                    }                }                $final = $this->msn_recv();                if (eregi('^USR ', $final)) {                    @list($cmd, $trid, $stat, $usr, $sn, $etc) = explode(' ', $final);                    if (trim($stat) == 'OK') {                        echo "Server replied OK to signon.<BR>";                        echo "USER: $etc?<BR>";                        $this->msn_send('CHG ' . $this->trid++ . ' NLN');                        $this->msn_send('BLP ' . $this->trid++ . ' AL');                        $this->msn_send('REA ' . $this->trid++ . ' ' . $this->user . ' ' . urlencode($this->user_real));                    }                }                $ring = $this->msn_recv();                if (eregi('^RNG ', $ring)) {                    // hier verder gaan                }            }        }    }    function msn_send($data) {        if ($this->connected) {            return fputs($this->socket, $data . "\r\n");        }    }    function msn_recv() {        if ($this->connected) {            return fgets($this->socket, 2048);        }    }}$msn = new MSN_Messenger;while($msn->connected){    echo $msn->msn_recv();}?>

hij wil op een of andere manier niet doorgaan met msn_notification_connect()

ik heb hem ook even anders in elkaar gezet in een functie maar dan krijg ik een time out :?

zoals ie nu dus is werkt ie wel maar hij gaat niet verder met de functie msn_notification_connect()

PSN jschut_82 | Xbox: JSchut82


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Kun je mischien iets specifieker aangeven waar ie niet verder gaat?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:47
zoals je ziet echo ik na bijna elk commando
dat gaat goed tot het moment dat ik dit
PHP:
1
<?$this->connected = 0;$this->msn_notification_connect();?>

doe dan stopt het script en krijg ik dus gewoon gereed in me statusbar

dus bij het aanroepen van die functie stopt ie
dat weet ik omdat ie daar de echo's niet meer weergeeft

PSN jschut_82 | Xbox: JSchut82


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Op woensdag 10 juli 2002 10:20 schreef JSchut ongeveer het volgende:
PHP:
1
<?//[..]    function msn_notification_connect() {        if (!$this->connected) {          // [..] bla        } // if    } // function// [..]?>
die $this->connected is true.. Hij is geset, dus de "[..] bla" wordt niet uitgevoerd

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Zet na die functie aanroep binnen de constructor nog eens een echo? (dus na $this->msn_notification_connect() )

Ik heb zelf namelijk wel eens problemen met PHP gehad toen ik binnen een class z'n constructor een andere methode van die class aanroep. Dit gebeurde gewoon helemaal niet.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:47
nee hij is false want ik heb hem eerder al op 0 gezet

PSN jschut_82 | Xbox: JSchut82


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
0 != false

probeer gewoon ff if ($this->connected != 0) { bla }

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Op woensdag 10 juli 2002 10:31 schreef elviver het volgende:
0 != false

probeer gewoon ff if ($this->connected != 0) { bla }
Of gewoon vooraan $this->connected=false.. Is wat netter.. (maar 0 is in php gewoon false hoor;) )

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Op woensdag 10 juli 2002 10:33 schreef Janoz het volgende:
[..]
maar 0 is in php gewoon false hoor;)
Ieeeeeeeeuw... Bah! De prijs is 0. De prijs is false. Aarghh!!! :r

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:47
ja ik hb het idd maar even in true en false veranderd maar geen verschil :(

PSN jschut_82 | Xbox: JSchut82


  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:47
ik heb het algevonden een tikfoutje in een var sorry :o

PSN jschut_82 | Xbox: JSchut82


Verwijderd

Op woensdag 10 juli 2002 10:41 schreef JSchut het volgende:
ik heb het algevonden een tikfoutje in een var sorry :o
ahh, wijzig het ff in je topic, ik wil je script wel es zien dus .

Verwijderd

btw vond nog fout

je had hier:
PHP:
1
<?function msn_notification_connect() {if (!$this->connected) {if ($this->_socket = fsockopen($this->not_serv, $this->not_port)) {$this->connected = true;?>

bij if ($this->_socket een _ er tussen . .

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:47
WHALA

PSN jschut_82 | Xbox: JSchut82


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:49

TheDane

1.618

hmm, mijn $info var wordt niet gevuld in msn_connect()

Verwijderd

Wat was de fout dan?

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:49

TheDane

1.618

Op woensdag 10 juli 2002 11:46 schreef robbinh het volgende:
Wat was de fout dan?
PHP:
1
<?$this->msn_send('USR ' . $this->trid++ . ' ' . $this->enc . ' I ' . $this->usr_email);            if (eregi('^XFR ', $this->msn_recv())) {                echo "User Passport information sent, awaiting transfer.<BR>";                @list($cmd, $trid, $type, $info, $etc) = explode(' ', $inbound);                ?>

$inbound wordt nergens geset, dus dat @list() statement zal niet veel doen.

ik heb nu dit:
PHP:
1
<?$inbound = $this->msn_recv();if (eregi('^XFR ', $inbound)) { //etc?>

dit schijnt wel te werken, alleen krijg ik nu een maximum execution time exceeded error .. ff prutsen nog :)

Verwijderd

Ik ben der nu ook ff mee aan het prutsen gegaan en ben het volgende tegen gekomen. De connect werkt allemaal lekker, dan gaat ie naar de notification_connect en dan stuurt de msn server niks meer terug.

Voorbeeld:
in de connect:
Sending: VER 0 MSNP2
Received: VER 0 MSNP2


in de notification connect:
Sending: VER 2 MSNP2
Received:

Dus er komt niks terug.. :'(

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:49

TheDane

1.618

Op woensdag 10 juli 2002 12:37 schreef TimD het volgende:
Ik ben der nu ook ff mee aan het prutsen gegaan en ben het volgende tegen gekomen. De connect werkt allemaal lekker, dan gaat ie naar de notification_connect en dan stuurt de msn server niks meer terug.

Voorbeeld:
in de connect:
Sending: VER 0 MSNP2
Received: VER 0 MSNP2


in de notification connect:
Sending: VER 2 MSNP2
Received:

Dus er komt niks terug.. :'(
d'r zitten nog een paar foutjes in script wat topicstarter hierboven heeft gepost.

o.a.
de regel
code:
1
$encpass = md5(trim($digest) . $this->_pass);

moet zijn:
code:
1
$encpass = md5(trim($digest) . $this->usr_password);

en die wijziging die ik hierboven al had gepost.

ik krijg nu probleem bij 't sturen van
code:
1
$this->msn_send('CHG ' . $this->trid++ . ' NLN');

(krijg geen contact list terug, alleen wat MSG info van hotmail .. )

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 21:47
daar heb ik nu idd ook last van

ik krijg nu MSG Hotmail Hotmail 401 terug

PSN jschut_82 | Xbox: JSchut82


  • wietco
  • Registratie: Augustus 2001
  • Laatst online: 21:43
hij lijkt wel wat op deze:
http://www.evilwalrus.com/viewcode.php?codeEx=515

alleen ze doen het beide niet

Verwijderd

Ik heb die walrus aan gepast en die van mij werkt.. bijna..
PHP:
1
<? error_reporting(E_ALL);//set_time_limit(0);class Net_MSN {     var $_user = 'xxxx@hotmail.com';     var $_user_real = 'xxxx';     var $_pass = 'xxxx';          var $_msn_host = 'messenger.hotmail.com';     var $_msn_port = 1863;     var $_msn_proto = 'MSNP2';     var $_not_serv;     var $_not_port;     var $_hash = 'Q1P7W2E4J9R8U3S5';     var $_enc = 'MD5';     var $_trid = 0;     var $connected = 0;     var $_socket;     function Net_MSN()     {         $this->msn_dispatch();     }     function msn_dispatch()     {         echo "Starten msn_dispatch\n";        if ($this->_socket = fsockopen($this->_msn_host, $this->_msn_port)) {             $this->connected = true;             $this->msn_send('VER ' . $this->_trid . ' ' . $this->_msn_proto);             if (eregi('^VER ', $this->msn_recv())) {                 echo "\n\nSuccessfully communicated to " . $this->_msn_host . "\n";             }             $this->msn_send('INF ' . $this->_trid++);             if (eregi('^INF ', $this->msn_recv())) {                 echo "We got the encryption package...\n";             }             $this->msn_send('USR ' . $this->_trid++ . ' ' . $this->_enc . ' I ' . $this->_user);             $inbound = $this->msn_recv();             if (eregi('^XFR ', $inbound)) {                 echo "User Passport information sent, awaiting transfer...\n";                 @list($cmd, $trid, $type, $info, $etc) = explode(' ', $inbound);                 $info = trim($info);                 echo "Transfer server recv'd: " . $info . "\n";                 @list($srv, $prt) = explode(':', $info);                 $this->_not_serv = $srv;                 $this->_not_port = $prt;                 echo "Notification server + port: $srv, $prt\n";                echo "Closing connection for transfer server...\n";                 $this->connected = false;                 $this->msn_notification_connect();             }         }     }     function msn_notification_connect() {         echo "--------------\n\nStart msn_notifcation_connect\n";        if (!$this->connected) {             if ($this->_socket = fsockopen($this->_not_serv, $this->_not_port)) {                 $this->connected = true;                                  $this->msn_send('VER ' . $this->_trid++ . ' ' . $this->_msn_proto);                 if (eregi('^VER ', $this->msn_recv())) {                     echo "\n\nSucessfully communicated to " . $this->_not_serv . "\n";                 }                                  $this->msn_send('INF ' . $this->_trid++);                 if (eregi('^INF ', $this->msn_recv())) {                     echo "We got the encryption package...\n";                 }                                  $this->msn_send('USR ' . $this->_trid++ . ' ' . $this->_enc . ' I ' . $this->_user);                 $inbound = $this->msn_recv();                 if (eregi('^USR ', $inbound)) {                     @list($cmd, $trid, $enc, $mode, $digest) = explode(' ', $inbound);                     if (trim($mode) == 'S') {                         echo "Encryption mode recv'd...\n";                         $encpass = md5(trim($digest) . $this->_pass);                         $this->msn_send('USR ' . $this->_trid++ . ' MD5 S ' . $encpass);                         echo "Encryped user password sent: " . $encpass . "\n";                     }                 }                 $final = $this->msn_recv();                 if (eregi('^USR ', $final)) {                     @list($cmd, $trid, $stat, $usr, $sn, $etc) = explode(' ', $final);                     if (trim($stat) == 'OK') {                         echo "Server replied OK to signon...\n\n";                         $this->msn_send('CHG ' . $this->_trid++ . ' NLN');                         $this->msn_send('BLP ' . $this->_trid++ . ' AL');                         $this->msn_send('REA ' . $this->_trid++ . ' ' . $this->_user . ' ' . urlencode($this->_user_real));                                                 //zelf:                        $this->msn_send('CVR '.$this->_trid++.' 0x0409 win 4.10 i386 MSMSGS 4.5.0127 MSMSGS');                    }                 }             }         }     }     function msn_recv()     {         if ($this->connected) {             $d = fgets($this->_socket, 2048);             if($d != ""){                echo "<font color=blue>Received: $d</font>\n";                flush();                return $d;            } else                 return false;        }     }     function msn_send($data,$raw=false)     {         if ($this->connected) {             echo "<font color=red>Sending: $data</font>\n";flush();            if($raw)                return fputs($this->_socket, $data);             else                return fputs($this->_socket, $data . "\r\n");         }     }     function msn_wait(){        //Wait for incomming chat requests:        $incomming = $this->msn_recv();        if(eregi('^RNG ', $incomming)){            $bla = new msn_user($incomming,$this->_user);                }    }} // end Net_MSN class msn_user{    var $_socket,        $_switchip,        $_switchport,        $_id;    function msn_user($incomming,$user){        $this->_id = 1;        @list($cmd,$sesid,$switchip,$bla,$hash) = explode(" ",$incomming);        @list($this->_switchip,$this->_switchport) = explode(":",$switchip);        $this->_socket = fsockopen($this->_switchip, $this->_switchport) or die("Unable to connect to the switchboard");        //set_file_buffer($this->_socket,0);         //ANS 1 venky_dude@hotmail.com 989495494.750408580 11742066        $this->send("ANS",$user. " ".$hash." ".$sesid);        while(1){            $b = $this->get();            if(eregi('^ANS 0 OK', $b))                $this->send_msg("Hallo en welkom!!");            else{                $this->send_msg("bla");                echo "Received: $b\n";            }        }    }    function send($cmd,$data,$raw=false){        $data = $cmd . " ". $this->_id++ . " " . $data;        echo "<font color=red>Sending (in msn_user): $data</font>\n";flush();        if(!$raw)    $data .= "\r\n";        return fputs($this->_socket, $data);     }    function get(){        $d = fgets ($this->_socket,1024);        flush();        return $d;    }     function send_msg($msg){        $header = "MIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nX-MMS-IM-Format: FN=MS%20Shell%20Dlg; EF=; CO=0; CS=0; PF=0\n\n";        $header .= $msg;        $this->send('MSG', 'N ' . strlen($header) . "\r\n" . $header,true); //send raw data    }}//Gooi buffer vol:echo "<pre>Starten maar";for($i=0;$i<1000;$i++)    echo " ";echo "\n";flush();// // EXAMPLE // $msn = new Net_MSN; while($msn->connected) {     $msn->msn_wait();} ?>

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Op donderdag 11 juli 2002 20:47 schreef TimD het volgende:
Ik heb die walrus aan gepast en die van mij werkt.. bijna..
[knip]
Zou je die misschien heeeeeel misschien willen uppen bij http://213.51.93.67/upload ????????????

Want met C/P C/P-ed ie de enters niet mee :(

Pls???

Dan mirror ik hem wel enzow :)

  • PowerSp00n
  • Registratie: Februari 2002
  • Laatst online: 30-08 08:07

PowerSp00n

There is no spoon

Op donderdag 11 juli 2002 22:22 schreef Osiris het volgende:

[..]

Zou je die misschien heeeeeel misschien willen uppen bij http://213.51.93.67/upload ????????????

Want met C/P C/P-ed ie de enters niet mee :(

Pls???

Dan mirror ik hem wel enzow :)
Moet je het eerst even in Word Pad plakken :)...

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Op donderdag 11 juli 2002 22:26 schreef PowerSp00n het volgende:

[..]

Moet je het eerst even in Word Pad plakken :)...
Ow, dat kan ook nog, ik had kladblok en daarna Wordpad wel geprobeerd, maar omdat ik WordPad nooit gebruik, start ik daar nevernooitniet mee op enzow, dus paste ik daar ook nix, maar iig wel bedankt voor de tip!!! :* :); ik ga het meteen proberen!

één zin :P door de ; is het er nog 1 :o

edit:

W00t, het werkt!!! :o
Weet nu iemand btw hoe je van die PHP-source-dingen maakt??? Je weet wel, van die .phps en dan direct alle kleurtjes goed enzow...

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op donderdag 11 juli 2002 22:22 schreef Osiris het volgende:

[..]

Zou je die misschien heeeeeel misschien willen uppen bij http://213.51.93.67/upload ????????????

Want met C/P C/P-ed ie de enters niet mee :(

Pls???

Dan mirror ik hem wel enzow :)
klik op quote en c/p hem uit de textarea

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Op donderdag 11 juli 2002 22:48 schreef brammetje het volgende:

[..]

klik op quote en c/p hem uit de textarea
Dat werkte met notepad ook nie :( :)
Maar 'k hebbem nu, maar hij werkt niet!!!

php.exe verbruikt 99% van m'n CPU en hij echoot nix :? :? :?

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op donderdag 11 juli 2002 22:42 schreef Osiris het volgende:
Weet nu iemand btw hoe je van die PHP-source-dingen maakt??? Je weet wel, van die .phps en dan direct alle kleurtjes goed enzow...
config je server goed en noem je bestand bestand.phps, makkelijker kan niet :)

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op donderdag 11 juli 2002 22:49 schreef Osiris het volgende:
Dat werkte met notepad ook nie :( :)
notepad is ook voor losers

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Op donderdag 11 juli 2002 22:50 schreef brammetje het volgende:

[..]

notepad is ook voor losers
Ik maak al mijn sites in notepad *D :P :+

Magoed, ff Apache goed configureren dus (zoekûh!!!)...

Maar iemand enig idee wrom of waar ie ergens looped???

  • wietco
  • Registratie: Augustus 2001
  • Laatst online: 21:43
hij loopt bij de while na ///EXAMPLE

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Op donderdag 11 juli 2002 22:57 schreef wietco het volgende:
hij loopt bij de while na ///EXAMPLE
Jah, okay, dat vat ik :P

Maar er is ATM nix geen uittevoeren code na ///EXAMPLE

En toch zit ie nog ergens vast :(

Verwijderd

sorry hoor, ff voor de duidelijkheid: hoe kopieer ik die php netjes naar een eigen bestandje, met enters??

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Op donderdag 11 juli 2002 23:03 schreef dickies het volgende:
sorry hoor, ff voor de duidelijkheid: hoe kopieer ik die php netjes naar een eigen bestandje, met enters??
whehe, lees de draad voordat je blaat! :P

Dat vroeg ik enkele posts hierboven ook! :D

Gewoon Ctrl - C en Ctrl - V, maar dan naar Wordpad ipv Kladblok

Verwijderd

Op donderdag 11 juli 2002 23:08 schreef Osiris het volgende:

[..]

whehe, lees de draad voordat je blaat! :P

Dat vroeg ik enkele posts hierboven ook! :D

Gewoon Ctrl - C en Ctrl - V, maar dan naar Wordpad ipv Kladblok
Dat heb ik idd gezien maar dat doet ie ook niet bij mij :S

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Op donderdag 11 juli 2002 23:10 schreef dickies het volgende:

[..]

Dat heb ik idd gezien maar dat doet ie ook niet bij mij :S
Ah, okay...

Ik zal hem ff op m'n webspace zetten, want ik snap niet hoe ik die .phps aan moet zetten! :( (en m'n PC gaat zo uit :) )
Heeft iemand nog een concreet iets, want slechts AddType application/x-httpd-php-source .phps toevoegen werkt niet!!!

msn.php

Verwijderd

Op donderdag 11 juli 2002 23:15 schreef Osiris het volgende:

Heeft iemand nog een concreet iets, want slechts AddType application/x-httpd-php-source .phps toevoegen werkt niet!!!

msn.php
show_source("msn.php");

?

  • Joto
  • Registratie: Juni 2000
  • Laatst online: 30-08 10:37
Op vrijdag 12 juli 2002 01:41 schreef dj_delta het volgende:

[..]

show_source("msn.php");

?
goed lezen,, save as [scriptname].phps !!!

1+1+1 = 1


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Jaja...

Een discussie hoe een .phps te maken.
Lekker offtopic mensen

  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
Ik heb hem draaien hoor, 'k heeft alleen een beetje veel mensen in m'n MSN lijst staan, dus hij is al 5min's bezig alle contact's te d-loaden :X
code:
1
2
3
4
5
6
bla
Received: 
Sending (in msn_user): MSG 10522 N 122
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-MMS-IM-Format: FN=MS%20Shell%20Dlg; EF=; CO=0; CS=0; PF=0

Ik krijg nu alleen maar dit te zien. Wat betekent dat? :?

Verwijderd

Op vrijdag 12 juli 2002 11:16 schreef Tomaat het volgende:
Ik heb hem draaien hoor, 'k heeft alleen een beetje veel mensen in m'n MSN lijst staan, dus hij is al 5min's bezig alle contact's te d-loaden :X
Met bovenstaande script? ZO niet, wat zijn de changes...

  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
Op vrijdag 12 juli 2002 11:18 schreef partyganger het volgende:

[..]

Met bovenstaande script? ZO niet, wat zijn de changes...
Ik heb m'n MSN adres en passwd ingevuld :?

  • QuasaR
  • Registratie: December 2000
  • Laatst online: 01-09 14:50

QuasaR

One ring to rule them all

En je moet bij het kleine lusje onderaan de // weghalen

Anders krijg je een blanco scherm en doet ie niks

Daddy of 3 :)


  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
Op vrijdag 12 juli 2002 11:22 schreef QuasaR het volgende:
En je moet bij het kleine lusje onderaan de // weghalen

Anders krijg je een blanco scherm en doet ie niks
Welk lusje :?

  • QuasaR
  • Registratie: December 2000
  • Laatst online: 01-09 14:50

QuasaR

One ring to rule them all

code:
1
2
3
4
5
$msn = new Net_MSN; 
while($msn->connected) 
{ 
$msn->msn_wait();
}

Dit lusje.

Daddy of 3 :)


  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
code:
1
2
3
4
5
6
7
8
9
// 
// EXAMPLE 
// 
$msn = new Net_MSN; 
while($msn->connected) 
{ 
$msn->msn_wait();
} 
?>

Dit stukje dus?
Als ik die //en weghaal, dan maakt dat niets uit hoor ;)

  • Sjab-X
  • Registratie: September 2001
  • Laatst online: 06-08 11:45
Ik heb ook een beetje lopen kloten met dit script, maar volgens mij kan je er geen functionele webinterface van MSN mee maken. Het probleem ligt volgens mij dat het script gestopt wordt na een x aantal seconden (PHP timeout). En als je het script weer opnieuw zou starten krijgt je aan de andere kant de hele tijd te zien dat de user offline en weer online gaat.

Of zie ik dat nu fout?

  • reskobon
  • Registratie: November 2001
  • Laatst online: 28-08 13:24
Klopt hier doet ie het ook maar loopt idd vast door een time out. Zou stoer zijn als je hier een php based messenger van zou kunnen maken.

Veel mensen zouden blij zijn waarbij bijv op school of werk msn geblocked is.

Leeg


  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
Op vrijdag 12 juli 2002 11:44 schreef robje het volgende:
Klopt hier doet ie het ook maar loopt idd vast door een time out. Zou stoer zijn als je hier een php based messenger van zou kunnen maken.

Veel mensen zouden blij zijn waarbij bijv op school of werk msn geblocked is.
Die bestaat al hoor :D *klik*

  • Sjab-X
  • Registratie: September 2001
  • Laatst online: 06-08 11:45
Op vrijdag 12 juli 2002 11:46 schreef Tomaat het volgende:
[..]
Die bestaat al hoor :D *klik*
Dit ziet er uit als een appart IM netwerk. Het is pas leuk als je ook op het MSN netwerk kan...

  • reskobon
  • Registratie: November 2001
  • Laatst online: 28-08 13:24
Op vrijdag 12 juli 2002 11:51 schreef Sjab-X het volgende:

[..]

Dit ziet er uit als een appart IM netwerk. Het is pas leuk als je ook op het MSN netwerk kan...
Juist :) :)

Leeg


  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
Dat kan die ook. Je moet eerst een accountje op die site aanvragen, zodat ie een beetje webspace voor je aanmaakt voor je instellingen en je "buddies" in op te slaan. :)

  • QuasaR
  • Registratie: December 2000
  • Laatst online: 01-09 14:50

QuasaR

One ring to rule them all

Op vrijdag 12 juli 2002 11:44 schreef robje het volgende:
Klopt hier doet ie het ook maar loopt idd vast door een time out. Zou stoer zijn als je hier een php based messenger van zou kunnen maken.

Veel mensen zouden blij zijn waarbij bijv op school of werk msn geblocked is.
Die time-out kun je vermijden door deze regel boven aan de functie msn_wait() te zetten

set_time_limit(30);

Deze regel reset de time-limit elke keer naar 30 sec.

Daddy of 3 :)


Verwijderd

Op vrijdag 12 juli 2002 11:57 schreef QuasaR het volgende:

[..]

Die time-out kun je vermijden door deze regel boven aan de functie msn_wait() te zetten

set_time_limit(30);

Deze regel reset de time-limit elke keer naar 30 sec.
of set_time_limit(0); boven aan je script

  • reskobon
  • Registratie: November 2001
  • Laatst online: 28-08 13:24
JA werkt leuk :)

Zijn er al mensen die de uitdaging aangaan om hier echt iets leuks van te maken.....

Leeg


  • QuasaR
  • Registratie: December 2000
  • Laatst online: 01-09 14:50

QuasaR

One ring to rule them all

Ik ga er wel mee aan de gang maar dat zal pas over 4 weken zijn. Eerst vakantie :) en dan zien we wel verder.

Daddy of 3 :)


Verwijderd

Heb der gister redelijk lang aanzitten werken.. maar heb problemen met de in/output.

Als ik een berichtje stuur naar de bot dan krijg ik de header binnen en geen bericht.. stuur ik nog een berichtje dan komt pas het vorige berichtje door met de header van dit berichtje en niet het bericht.. raar... Kheb de al met fgets zitten kloten, maar dat werkt allemaal niet.. iemand een idee?

Verwijderd

Joepie!! het goed ontvangen van berichten werkt nu, no nog de functie msg_send aanpassen en het werkt :D

Verwijderd

Op vrijdag 12 juli 2002 12:55 schreef TimD het volgende:
Joepie!! het goed ontvangen van berichten werkt nu, no nog de functie msg_send aanpassen en het werkt :D
Post je de source dan wel hier, wil dit ook wel es werkend zien :D

  • Wbdsgnr
  • Registratie: Maart 2002
  • Laatst online: 26-08 10:17

Wbdsgnr

Discombobulated?

Idd, ik zit er ook al een poos aan te klooien, maar ik snap er niet veel meer van :)

Verwijderd

Hij werkt helemaal!!! :) incl replies. Dus als jij hallo zegt dan geeft ie een begroeting terug. post de source later nog wel..

Verwijderd

Op vrijdag 12 juli 2002 13:23 schreef TimD het volgende:
Hij werkt helemaal!!! :) incl replies. Dus als jij hallo zegt dan geeft ie een begroeting terug. post de source later nog wel..
cewl :D. Ik kijk er met smart naar uit :D

Verwijderd

Ben idd benieuwd :D

  • Tomaat
  • Registratie: November 2001
  • Laatst online: 13-05 13:50
w03!, ik kan niet w88 :D

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:49

TheDane

1.618

nou schiet op TimD

ik ben benieuwd ...
ik zag trouwens dat dat script van walrus blaat bedoeld was voor commandline .. niet voor web interface ;(

Verwijderd

heb het nu ook werkend ;)
hints:

• voor het uilezen van het bericht fread() gebruiken met de lengte van de message.

• Verder blijft MSN natuurlijk een windows-progje dus in de header moet je voor de newlines een return geven, dus: "\r\n" ipv "\n"

  • Wbdsgnr
  • Registratie: Maart 2002
  • Laatst online: 26-08 10:17

Wbdsgnr

Discombobulated?

Nou kommop met dat ding :9

  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 00:35

Altaphista

1. check manual, 2. ask

kan je niet zelf een beetje creatief prutsen? ;)

ben zelf ook benieuwd hoor.
zelf heb ik m ook al online, maar mijn messages komen niet echt aan... ik krijg wel een "blabla is typing a message", maar de msg zelf blijft uit...

Je gaat het pas zien als je het doorhebt.


Verwijderd

Bij mij haalt set_time_limit(0) bovenaan de code niks uit,
hij connect en men ziet ook dat ik online kom, maar vervolgens kapt ie ermee.

Als ik msn_wait() in een while doe, blijft de browser eeuwig laden, ook als ik daarin set_time_limit(30) zet, zoals eerder voorgesteld.
Wat moet ik doen? :?

==|)======>

  • AcIDeR
  • Registratie: Mei 2002
  • Laatst online: 30-08 16:57
kan iemand gewoon een werkende code posten?

thx alvast.

Verwijderd

Op zaterdag 13 juli 2002 17:00 schreef zwaard het volgende:
Als ik msn_wait() in een while doe, blijft de browser eeuwig laden, ook als ik daarin set_time_limit(30) zet, zoals eerder voorgesteld.
Wat moet ik doen? :?
Tja, wat wil je ermee doen in een browser?
Je blijft alleen online zolang het php-scriptje draait, dus zolang je de pagina blijft laden. Daarna is de sessie met de msn server pleite en ben je weer off line.

Eigenlijk is het moeilijkste gedeelte al gedaan: het inloggen op de msn server. Die code had ik zelf iig niet uit kunnen vogelen 8-).
Ik heb een botje draaien, maar hij is nog een beetje erg single-user/session. berichtjes ontvangen/versturen/typing msg

nog een linkje naar alle codes/werking van MSN:
http://www.hypothetic.org/docs/msn/
(beetje trage site btw)

Verwijderd

Voor de mensen die echt te lui zijn hier een werkend stukje code.. ;) Tis single user en heeft erg veel beperkingen.. maar goed een start voor alle luie mensen hier ;)
PHP:
1
<? error_reporting(E_ALL);//set_time_limit(0);class Net_MSN {     var $_user = 'xxxx@hotmail.com';     var $_user_real = 'xxx';     var $_pass = 'xxxxx';          var $_msn_host = 'messenger.hotmail.com';     var $_msn_port = 1863;     var $_msn_proto = 'MSNP2';     var $_not_serv;     var $_not_port;     var $_hash = 'Q1P7W2E4J9R8U3S5';     var $_enc = 'MD5';     var $_trid = 0;     var $connected = 0;     var $_socket;     function Net_MSN()     {         $this->msn_dispatch();     }     function msn_dispatch()     {         echo "Starten msn_dispatch\n";        if ($this->_socket = fsockopen($this->_msn_host, $this->_msn_port)) {             $this->connected = true;             $this->msn_send('VER ' . $this->_trid . ' ' . $this->_msn_proto);             if (eregi('^VER ', $this->msn_recv())) {                 echo "\n\nSuccessfully communicated to " . $this->_msn_host . "\n";             }             $this->msn_send('INF ' . $this->_trid++);             if (eregi('^INF ', $this->msn_recv())) {                 echo "We got the encryption package...\n";             }             $this->msn_send('USR ' . $this->_trid++ . ' ' . $this->_enc . ' I ' . $this->_user);             $inbound = $this->msn_recv();             if (eregi('^XFR ', $inbound)) {                 echo "User Passport information sent, awaiting transfer...\n";                 @list($cmd, $trid, $type, $info, $etc) = explode(' ', $inbound);                 $info = trim($info);                 echo "Transfer server recv'd: " . $info . "\n";                 @list($srv, $prt) = explode(':', $info);                 $this->_not_serv = $srv;                 $this->_not_port = $prt;                 echo "Notification server + port: $srv, $prt\n";                echo "Closing connection for transfer server...\n";                 $this->connected = false;                 $this->msn_notification_connect();             }         }     }     function msn_notification_connect() {         echo "--------------\n\nStart msn_notifcation_connect\n";        if (!$this->connected) {             if ($this->_socket = fsockopen($this->_not_serv, $this->_not_port)) {                 $this->connected = true;                                  $this->msn_send('VER ' . $this->_trid++ . ' ' . $this->_msn_proto);                 if (eregi('^VER ', $this->msn_recv())) {                     echo "\n\nSucessfully communicated to " . $this->_not_serv . "\n";                 }                                  $this->msn_send('INF ' . $this->_trid++);                 if (eregi('^INF ', $this->msn_recv())) {                     echo "We got the encryption package...\n";                 }                                  $this->msn_send('USR ' . $this->_trid++ . ' ' . $this->_enc . ' I ' . $this->_user);                 $inbound = $this->msn_recv();                 if (eregi('^USR ', $inbound)) {                     @list($cmd, $trid, $enc, $mode, $digest) = explode(' ', $inbound);                     if (trim($mode) == 'S') {                         echo "Encryption mode recv'd...\n";                         $encpass = md5(trim($digest) . $this->_pass);                         $this->msn_send('USR ' . $this->_trid++ . ' MD5 S ' . $encpass);                         echo "Encryped user password sent: " . $encpass . "\n";                     }                 }                 $final = $this->msn_recv();                 if (eregi('^USR ', $final)) {                     @list($cmd, $trid, $stat, $usr, $sn, $etc) = explode(' ', $final);                     if (trim($stat) == 'OK') {                         echo "Server replied OK to signon...\n\n";                         $this->msn_send('CHG ' . $this->_trid++ . ' NLN');                         $this->msn_send('BLP ' . $this->_trid++ . ' AL');                         $this->msn_send('REA ' . $this->_trid++ . ' ' . $this->_user . ' ' . urlencode($this->_user_real));                                                 //zelf:                        $this->msn_send('CVR '.$this->_trid++.' 0x0409 win 4.10 i386 MSMSGS 4.5.0127 MSMSGS');                    }                 }             }         }     }     function msn_recv()     {         if ($this->connected) {             $d = fgets($this->_socket, 2048);             if($d != ""){                echo "<font color=blue>Received: $d</font>\n";                flush();                return $d;            } else                 return false;        }     }     function msn_send($data,$raw=false)     {         if ($this->connected) {             echo "<font color=red>Sending: $data</font>\n";flush();            if($raw)                return fputs($this->_socket, $data);             else                return fputs($this->_socket, $data . "\r\n");         }     }     function msn_wait(){        //Wait for incomming chat requests:        $incomming = $this->msn_recv();        if(eregi('^RNG ', $incomming)){            $bla = new msn_user($incomming,$this->_user);                }    }} // end Net_MSN class msn_user{    var $_socket,        $_switchip,        $_switchport,        $_id;    function msn_user($incomming,$user){        echo "nieuwe";        $this->_id = 1;        @list($cmd,$sesid,$switchip,$bla,$hash) = explode(" ",$incomming);        @list($this->_switchip,$this->_switchport) = explode(":",$switchip);        $this->_socket = fsockopen($this->_switchip, $this->_switchport) or die("Unable to connect to the switchboard");        //set_file_buffer($this->_socket,0);         //ANS 1 venky_dude@hotmail.com 989495494.750408580 11742066        $this->send("ANS",$user. " ".$hash." ".$sesid);        while(1){            $this->get();        }    }    function send($cmd,$data,$raw=false){        $data = $cmd . " ". $this->_id++ . " " . $data;        echo "<font color=red>Sending (in msn_user): $data</font>\n";flush();        if(!$raw)    $data .= "\r\n";        return fputs($this->_socket, $data);     }    function get(){        $replies = array(    "hallo", "ook hoi.",                            ":)" => ":)"                );        $d = fgets ($this->_socket,1024);        if (eregi('^MSG ', $d)) {             list(,$from,$fromname,$length) = explode(" ",$d);            $msg = fread($this->_socket,$length);            if(ereg("Content-Type: text/x-msmsgscontrol",$msg)) return; //hebben we niet nodig die meuk            //Strip header:            list($header,$msg) = explode("\r\n\r\n",$msg,2);            echo "Bericht: $msg\n";            if($msg == "hallo")                $this->send_msg("ook hoi.");            else if(isset($replies[$msg])){                $this->send_msg($replies[$msg]);            }        }        flush();        return $d;    }     function send_msg($msg){        $header = "MIME-Version: 1.0\r\nContent-Type: text/plain; charset=UTF-8\r\nX-MMS-IM-Format: FN=MS%20Shell%20Dlg; EF=; CO=0; CS=0; PF=0\r\n\r\n";        $header .= $msg;        $this->send('MSG', 'N ' . strlen($header) . "\r\n" . $header,true); //send raw data    }}//Gooi buffer vol:echo "<pre>Starten maar";for($i=0;$i<1000;$i++)    echo " ";echo "\n";flush();$msn = new Net_MSN; while($msn->connected) {     $msn->msn_wait();} ?>

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 01-09 14:11

pietje63

RTFM

ik heb ook een keer een soort java script gehad, dat werkt volgens mij iets makkelijker (en volgens mij is het ook logischer om een verbinding met de msn server client en niet server side te regelen)

de nadeel van dat script was dat het gebruikt maakte van enkele dll bestanden die je op je pc krijgt bij de installatie van msn, en het eigenlijk dus loos was het te gebruiken

als je dit script gaat gebruiken zal ik de username en pass maar niet in het bestand opslaan, anders is het niet zo leuk als iemand jouw versie online bekijkt (hoe reageert msn dan; als 2 mensen inloggen onder 1 naam??)

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • wietco
  • Registratie: Augustus 2001
  • Laatst online: 21:43
Op zondag 14 juli 2002 00:16 schreef pietje63 het volgende:
(hoe reageert msn dan; als 2 mensen inloggen onder 1 naam??)
Dan sluit hij de eerste connectie af en gaat hij met de 2e verder :)

Verwijderd

Op zondag 14 juli 2002 00:16 schreef pietje63 het volgende:
ik heb ook een keer een soort java script gehad, dat werkt volgens mij iets makkelijker (en volgens mij is het ook logischer om een verbinding met de msn server client en niet server side te regelen)
Het leuke van server-side is dat je een botje kunt bouwen, dat bv automagisch berichtjes beantwoordt.

En door 'FN:Fixedsys;' in je header te zetten kun je ook leuke ascii-art versturen *D

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 01-09 14:11

pietje63

RTFM

Op zondag 14 juli 2002 00:48 schreef peidor het volgende:

[..]

Het leuke van server-side is dat je een botje kunt bouwen, dat bv automagisch berichtjes beantwoordt.

En door 'FN:Fixedsys;' in je header te zetten kun je ook leuke ascii-art versturen *D
o, op die fiets
maar is het dan niet een id een de verbinding client side te regelen? of wordt de combinatie dan moeilijk?

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Verwijderd

Op zondag 14 juli 2002 11:22 schreef pietje63 het volgende:

[..]

o, op die fiets
maar is het dan niet een id een de verbinding client side te regelen? of wordt de combinatie dan moeilijk?
Het hele idee achter dit botje is om hem server side te laten draaien, op de achtergrond. Dus niet dat jouw browser constant open moet staan om het botje open te houden..

Voorbeeld van een "simpele" feature is het "leave a message" idee. Je stopt deze berichten in een database en leest ze als je terug bent van werk / uitgaan / vakantie / whatever en verwijderd ze daarna weer.

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 01-09 14:11

pietje63

RTFM

Op zondag 14 juli 2002 11:44 schreef TimD het volgende:

[..]

Het hele idee achter dit botje is om hem server side te laten draaien, op de achtergrond. Dus niet dat jouw browser constant open moet staan om het botje open te houden..

Voorbeeld van een "simpele" feature is het "leave a message" idee. Je stopt deze berichten in een database en leest ze als je terug bent van werk / uitgaan / vakantie / whatever en verwijderd ze daarna weer.
maar hoe wil je een php script laten draaien zonder dat de browser open is?

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Verwijderd

Op zondag 14 juli 2002 12:11 schreef pietje63 het volgende:

[..]

maar hoe wil je een php script laten draaien zonder dat de browser open is?
cronjob!!

Verwijderd

lynx -dump url naar script
php -f filename

you name it we've got it

  • AcIDeR
  • Registratie: Mei 2002
  • Laatst online: 30-08 16:57
en onder windhoos?

Verwijderd

Op zondag 14 juli 2002 14:45 schreef AcIDeR het volgende:
en onder windhoos?
run -> command -> php path/naar/script en dan je command venster minimaliseren ofzo ?

Verwijderd

Op zondag 14 juli 2002 14:45 schreef AcIDeR het volgende:
en onder windhoos?
php.exe -f c:\www\test\msn_bot.php B-)

  • AcIDeR
  • Registratie: Mei 2002
  • Laatst online: 30-08 16:57
ja en als je je server reboot dan kan je weet opnieuwe aan de haal gaan!

Verwijderd

Op zondag 14 juli 2002 15:23 schreef AcIDeR het volgende:
ja en als je je server reboot dan kan je weet opnieuwe aan de haal gaan!
maak ej toch scriptje die bij opstarten gestart word en die weer iets startn (php) ?? simpel . .

  • AcIDeR
  • Registratie: Mei 2002
  • Laatst online: 30-08 16:57
ok werkt perfect de bot maar nu wil ik dat i iets sneller is.is dat mogenlijk?
het duurt bijna 5 minuten voordat ik een andwoord terug krijg.

Verwijderd

Op zondag 14 juli 2002 19:48 schreef AcIDeR het volgende:
ok werkt perfect de bot maar nu wil ik dat i iets sneller is.is dat mogenlijk?
het duurt bijna 5 minuten voordat ik een andwoord terug krijg.
heb ik hier niet hoor :?

  • AcIDeR
  • Registratie: Mei 2002
  • Laatst online: 30-08 16:57
De snelheid is waardeloos.

Nu wil ik dus echt een bot feeling geven.

als ik Windows zegt moet hij Linux zeggen.

ik doe het op deze manier.

$replies = array("Boe", "Schrik!!!","Windows", "Linux!!!");

maar dit werkt niet waarom?

Verwijderd

Op zondag 14 juli 2002 20:07 schreef AcIDeR het volgende:
De snelheid is waardeloos.

Nu wil ik dus echt een bot feeling geven.

als ik Windows zegt moet hij Linux zeggen.

ik doe het op deze manier.

$replies = array("Boe", "Schrik!!!","Windows", "Linux!!!");

maar dit werkt niet waarom?
dat had ik ook .. zal nog wel niet af zijn :D

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Acider, ga zelf eens denken ipv elk wissewasje hier te vragen...
Pagina: 1

Dit topic is gesloten.