cs_yoman64
Messages postés592Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 4 décembre 2008
-
3 janv. 2008 à 23:43
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 2023
-
23 sept. 2008 à 09:30
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 23 sept. 2008 à 09:30
Yop !
Je vous rappelle que la dernière version du projet est disponible sur http://termit.tuxfamily.org. Sur ce même site, vous trouverez la possibilité de vous inscrire à la liste de diffusion sur laquelle je vous conseil de poster vos rapports de bug et vos suggestions.
Il serait souhaitable que les questions soient accompagnées d'un journal de la session défaillante.
cs_pirmax
Messages postés5Date d'inscriptionjeudi 19 octobre 2006StatutMembreDernière intervention16 décembre 2008 22 sept. 2008 à 17:15
J'ai oubliais de vous donner l'adresse du robot :)
Quelle belle tête en l'air que je suis !!!!
newbot@microshyma.com
www.newbot.microshyma.com
Merci et désolé pour le double poste !
cs_pirmax
Messages postés5Date d'inscriptionjeudi 19 octobre 2006StatutMembreDernière intervention16 décembre 2008 22 sept. 2008 à 17:13
Bonjour,
Tout d'abord, bravo pour cette source, elle n'est pas totalement complète et c'est d'ailleurs deux points que je vais voir avec vous !
Le premier est qu'il sera sympa d'ajouter un avatar au robot mais il me semble que le protocole msnp9 n'avez pas la possibilité d'y instauré un avatar à l'époque, et j'aimerais aussi lui mettre un pseudonyme !
Deuxième point que dont j'aimerais comprendre l'erreur, lorsqu'un personne ayant un compte MSN ajoute mon bot, le bot n'accepte pas la personne, et c'est à moi de l'accepter plus tard en me connectant à son compte !
Et j'aimerais cependant parler de mon bot :) J'ai programmé un robot intelligent, quand il ne reconnait pas un mot, il demande à l'utilisateur de lui apprendre la phrase qu'il devrait répondre, ca se passe comme ca :
Vous: Es-tu un robot ?
NewBot: Excuses-moi, je ne comprend pas le sens de cette phrase.
Tapes Oui si tu veux m'apprendre !
Vous: Oui
NewBot: Apprends-moi ce que je dois dire après : Es-tu un robot ?
Pour cela, tapes le message que tu veux que je répète lorsque je me retrouverais devant la phrase !
Vous: Oui, je suis un programmé en PHP !
NewBot: Ok ! Je saurais te répondre la prochaine fois :p
Vous: Es-tu un robot ?
NewBot: Oui, je suis un programmé en PHP !
C'est pas mal fait (je ne me vente pas), mais j'ai pu etablir une grande base de donnée de vocabulaire avec les gens dui parle avec lui, maintenant quand on lui demande si ca va, il est capable de vous répondre et de vous demandez à vous si ca va aussi !
Je fais un BEP électronique, et j'aimerais m'en servir pour contrôler un robot, selon ce qu'on lui dit, il l'enregistre dans une BDD, et d'un programme que j'ai fait et qui fonctionne, il serait capable de réagir à distance ! Enfin bref, ce n'est qu'un projet que projet !!
Veuillez ajouter mon robot si vous voulez lui enseigner votre language !
Je vous remerci à tous de me donner une réponse pour les deux points !!
Merci,
Maxence
pardailhan
Messages postés1Date d'inscriptionjeudi 7 octobre 2004StatutMembreDernière intervention19 février 2008 19 févr. 2008 à 07:04
bravo pour le source (... et à celui de http://flumpcakes.co.uk/php/msn-messenger ( ;)) ...
pour que l'ajout aux contacts fonctionne rajouter dans MSNsessionclass.php:
case 'LST':
//un item de la liste d'utilisateur, retourné par SYN
list(, $email, $name, $id, $list) = explode(' ', $data);
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 10 févr. 2008 à 08:53
merci pour cette mise à jour
est-ce qu'éventuellement, qqun aurait déjà étudié le moyen d'utiliser ce bot derrière un proxy ?
il faut que j'arrive à faire ça :D
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 10 févr. 2008 à 00:40
encore un, MSNSession.class.php à partir de laligne 154 :
if (isset($retour) && $retour)
$this->sbsess[$email]->sendtext( $retour, $email, $type);
else
$this->sbsess[$email]->close();
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 10 févr. 2008 à 00:19
correction de bug :
- TermitBot.class.php, à partir de la ligne 70 :
function sendtext($msg, $to){
return $this->session->sendtext($msg, $to);
}
- MSNSession.class.php ,à partir de la ligne 255 :
function sendtext($msg, $email){
if (! isset($this->sbsess[$email]))
$this->sbsess[$email] = new MSNSwitchboard($email, $this );
return $this->sbsess[$email]->sendtext($msg);
}
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 9 févr. 2008 à 22:53
yeah effectivement, merci :)
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 9 févr. 2008 à 21:08
Le problème de connexion au serveur de switchboard était dût à un bug, un espace se glissait dans la commande envoyée. Maintenant ça marche nickel.
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 14 janv. 2008 à 10:58
moi quand je lance le bot, au bout de 30 sec à 1min il se déconnecte et il ne se passe rien
le safe_mode n'est pas activé
si qqun a une idée....
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 12 janv. 2008 à 19:09
Il y a un problème avec MSN lorsque le robot doit commencer une discussion : le serveur de Switchboard ne répond jamais a la requête, si quelqu'un à une idée elle est la bienvenue...
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 14:51
au fait, qqun saurait où trouver de l'aide sur le protocole MSNP15 ? j'aimerais beaucoup adapter une classe avec ce protocole
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 14:45
sinon c'est peut être la constante...
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 14:44
juste un script avec un phpinfo(); devrait suffir
DelphiCool
Messages postés455Date d'inscriptionmardi 24 juillet 2001StatutMembreDernière intervention10 mars 2009 5 janv. 2008 à 14:40
je ne sais pas qu'elle est la version du serveur d'OVH, comment la connaitre?
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 14:30
C'est sans doute le EventHandler qui est sur cette ligne qui n'est pas apprécié, voila le serveur que j'utilise : Apache/2.2.3 (Debian) PHP/5.2.0-8+etch7
DelphiCool
Messages postés455Date d'inscriptionmardi 24 juillet 2001StatutMembreDernière intervention10 mars 2009 5 janv. 2008 à 14:24
Salut,
j'ai testé la première version qui marchais impec.
Cette dexieme version me donne aussi une erreur à la ligne 33 :
Parse error: syntax error, unexpected T_STRING, expecting ')' in /home.10.7/nomdemonsite/www/msn/TermitBot.class.php on line 33
je suis sous ovh (c'est bien du php5)
j'ai fait toutes les modifs au dessus déjà
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 11:42
tu peux me donner l'erreur exacte stp
si tu veux on peut voir ça par MSN
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 11:35
oui j'avais oublié de rechanger la ligne 10 . mais j'ai de nouveau l'erreur ligne 33 dans TermitBot.class.php ... fiou :(
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 11:32
bizarre, tout marche nickel pour moi, mais il est vrai que j'héberge sur mon propre serveur
c'est quoi ton erreur ?
le EventHandler.class.php est bien dans le meme répertoire que sample et que TermitBot.class.php ?
sinon tu dois mettre le chemin complet dans le TermitBot.class.php ligne 10 je pense
moi j'ai mis sample dans le mem rep que TermitBot.class.php, Termit.h.php et EvetnHandler.class.php et j'ai le sous-rep msn et ça marche nickel
là j'essaye de comprendre la source
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 11:27
Bon j'en ai un peu marre de tout essayer , ( ovh, 1and1,easyphp 1.8 / 2.0b1 )
j'ai une belle erreur pour la ligne 46 dans sample.php
$eventH = new EventHandler();
bref :(
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 11:18
petite erreur dans le sample.php :
ligne 33 : if ($contact = $admin_usr){
il faudrait mettre et non pas sinon la condition ne sert à rien
(enfin, je crois, j'suis pas encore bien réveillé)
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 11:14
hello jojo,
oui php_sockets est activé.... mais bon, ce n'est pas le lieu pour discuter de ça, je chercherais pour le moment je vais tester sous linux
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 5 janv. 2008 à 11:11
Hello :p
As tu activé php_sockets ?
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 11:11
ça ne fonctionne qu'avec les messages texte pour le moment...
Ceux qui veulent peuvent m'envoyer leur adresse msn par MP ou sur mon robot testmsn453@hotmail.fr, quand il est connecté il me transmet les messages...
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 11:09
au fait, question qui n'a rien à voir, quand je veux le lancer sous windows, il me dit que j'ai pas de ssl alors que j'ai mis openssl et activé l'extension php openssl
par contre dans le phpinfo, il me dit :
Registered Stream Socket Transports tcp, udp
sur mon linux j'ai en plus ssl, ssl3, etc...
qqun sait comment activer les stream socket transports pour ssl sous windows ?
je vais de ce pas tester la nouvelle source
ps : je suis dispo sur MSN pour ceux qui souhaite discuter de tout ça
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 5 janv. 2008 à 11:08
Moi tout fonctionne ^^
Enfin, mis à part la déconnection automatique très rapide.
Sinon quand j'envois un emoticon perso :
Votre message "salut <msnobj Creator="email@email.com" Type="2" SHA1D="F3PmKDGZmh6Ch6gkZqtePheEOzE=" Size="53837" Location="0" Friendly="cwBhAGwAdQB0AAAA"/>" ne peut être interprété
(Content-Type: text/x-mms-animemoticon)
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 11:03
et bien oui, la derniere version de easy php 1.8 comporte php5 ainsi que mon hebergeur (ovh). C'est vraiment, mais vraiment bizarre.
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 10:59
Voici ma ligne 33 qui fonctionne :
function __construct(EventHandler &$handler, $protocol = TERMIT_MSN){
T'es en PHP5 ?
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 10:57
J'ai donc changer a la ligne 8, le répertoire, puisque l'on doit directement mettre sample.php dans le répertoire.
Termit/Termit.h.php' => Termit.h.php
survient alors une nouvelle erreur Parse error: parse error, expecting `')'' in c:\program files\easyphp1-8\www\termit\TermitBot.class.php on line 33
Voila ;)
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 10:51
Oui JoJo738 , mdr :s j'avais mal regarder ...
et pour Flachy Joe, j'avais déja testé,
Warning: include_once(Termit/Termit.h.php) [function.include-once]: failed to open stream: No such file or directory in /home/b/l/a/blablazik/www/msn2/Termit/sample.php on line 8
Warning: include_once() [function.include]: Failed opening 'Termit/Termit.h.php' for inclusion (include_path='.:/usr/local/php5/lib/php') in /home/b/l/a/blablazik/www/msn2/Termit/sample.php on line 8
Fatal error: Class 'EventHandler' not found in /home/b/l/a/blablazik/www/msn2/Termit/sample.php on line 46
J'ai cette erreur la alors que toute a l'heure avec l'autre version, tout fonctionnais bien ( ovh )
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 10:50
Il faut aussi changer le include du "Termit.h.php" dans "sample.php" pour prendre en compte le changement de dossier.
include_once('Termit.h.php');
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 5 janv. 2008 à 10:49
Hello ^^
En ce qui concerne le "design" / "deign" c'est normal, puisque le script prend les 4 premiers caractères du message. Donc ici, "desi" ou "deig" ... Euh ... erreur ^^ Tu as du modifier le substr ($head) à 5 au lieu de 4 pour que "deign" marche ^^
Perso, j'avais fait : substr($msg, 0, strpos($msg, ' '));
Ainsi, je récupere le 1er mot, quelque soit sa longueur :p
Aller, je vais de ce pas tester la nouvelle source ;) (10/10 en tt cas)
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 10:47
il faut mettre sample.php dans le répertoire Termit, désolé.
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 10:45
Le SafeMode est activé. Le robot a droit à 10 secondes d'interprétation PHP. Une fois ce temps utilisé il se déconnectera.
Fatal error: Class 'TermitSession' not found in /home/b/l/a/blablazik/www/msn2/Termit/TermitBot.class.php on line 48
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 10:38
@ XSTYLED :
quelles sont les erreurs ?
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 10:25
re, j'ai testé ta nouvelle version, plus rien ne va ...
cs_vvince
Messages postés14Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention10 février 2008 5 janv. 2008 à 10:21
Salut Flachy Joe,
excellente source, je cherchais justement un truc du genre, par contre commej'ai besoin des offline message, je vais voir si je peux bosser sur une version plus récente du protocole MSN
continue comme ça :D
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 5 janv. 2008 à 10:15
Salut tous le monde,
voila donc les dernières bidouilles, je vous laisse découvrir ça...
...
...
...Voila, étant donné que je connais rien aux autres protocoles mon objet TermitBot ne correspondra pas forcement et il risque de changer quand les modules AIM, ICQ, Jabber, etc seront écrit. D'ailleurs si quelqu'un est prêt à bosser sur ceux ci, il est le bienvenu.
Par ailleurs j'ai un ennui avec le safemode qui stoppe l'exécution du robot, est ce que quelqu'un à une idée ?
xstyled
Messages postés38Date d'inscriptionjeudi 18 mai 2006StatutMembreDernière intervention17 février 2009 5 janv. 2008 à 09:54
Bonjour,
Je trouve ta source vraiment sympa ! ( et qui fonctionne ) par contre j'ai des petits souci quand je veux ajouter des commandes si dans 'case' je rajoute un 's' a sa définition, rien ne se passe
Interprétation:
case 'design' : -> quand je vais taper !design cela va me redire !design
Si je fais:
case 'deign' : -> quand je vais taper !deign il va me dire exactement ce que je lui demande.
Je vois que certaine source circule par mp/msn. Si il serais possible d'en faire une nouveauté sur ce poste, si possible :)
Merci d'avance.
piqdom
Messages postés11Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 4 janvier 2008 4 janv. 2008 à 18:27
bonjour,
voila je voulais savoir s'il est possible de faire tourner ces sources sur un site du fournisseur Free.
Car j'ai les erreurs suivantes :
?Unable to connect to msn server
Error Connecting to the MSN Network
merci
jdalton42
Messages postés200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 août 2009 4 janv. 2008 à 14:59
oui si tu le désire tu peux m'envoyer ton adresse msn par MP ;)
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 4 janv. 2008 à 14:24
Cool !
Je suis en train de tout réécrire, avec tout plein d'objet dans tous les sens pour la gestion multi-protocoles mais si t'es prêt à filer ton code je te donne mon adresse mail.
jdalton42
Messages postés200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 août 2009 4 janv. 2008 à 14:14
ah bisar chez moi sa ne fonctionnait pas :S
bref me suis amusé avec l'admin de mon coté j'ai ajouté gestion multi administrateurs, ajout de réponses directement depuis msn, déconnexion d'un administrateur, ajout d'administrateurs, etc etc
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 4 janv. 2008 à 12:15
Chez moi ça remplace en effet par un smiley mais la commande est interprété quand même...
jdalton42
Messages postés200Date d'inscriptionsamedi 25 décembre 2004StatutMembreDernière intervention19 août 2009 4 janv. 2008 à 12:13
Bonjour,
petit probleme lors de l'entrée de la commande :pass
il remplace :p par le smiley qui tire la langue et la commande est pas interpretée.
j'ai remplacé le : par > dans le fichier msnp9.class.php a la ligne 335 pour celui qui a le meme probleme.
cs_yoman64
Messages postés592Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 4 décembre 2008 4 janv. 2008 à 01:10
Salut,
Pour comprendre le proto 15 le meilleur moyen est sans aucun doute un sniffer, perso c'est comme ça que j'ai toujours fait pour étudier un protocole, je comprends beaucoup mieu en le voyant en action qu'en lisant de la doc...
Mais pour les challenges (qui deviennent nettement plus complexe dans les protos actuel, et le contenu des hash contact (implanté dans msnp13) une doc c'est pas de refut donc je te laisse une piste, le bon vieu msnfanatic : http://msnpiki.msnfanatic.com/index.php/MSN_Protocol_Version_15
En fait c'est pas tant les nouvelles fonctionnalités que l'esperance de vie comme dit Codefalse, en effet il y a fort à parier que Microsoft risque de laisser tomber les proto pré-msnp11 d'ici peu de temps, comme il l'ont fait avec Passport 1.4 pour passer à passport 3.0 (méthode d'authentification de msn) ce qui à rendu des dizaines de clients obsolètes :(
Dans les fonctionnalités plus interessantes des protos plus récents, il y a entre autres les messages differés (quand on est hors ligne) ce qui serait très interessant dans le cas de notification..
Et pour l'idée de codefalse de créé une classe d'abstraction pour éventuellement gerer plusieurs messageries je la trouve excellente :) ça serait un outil très simple à implenter n'importe ou !
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 4 janv. 2008 à 00:33
L'idée est bonne :)
La notification par msn est sympa :)
Mais c'est vrai qu'il est préférable d'utiliser le protocole le plus à jour, surtout que Microsoft s'amuse à bloquer les anciens protocoles (j'avais fait une source sur msn à l'époque).
Si tu veux savoir comment marche le protocole msnp15, tu peux lancer un sniffeur réseau (ethereal) et analyser les trams lors de la connexion, lors de la reception d'un message, etc, et tu pourra structurer le reseau msnp15 facilement (à peu pres).
Par contre, énorme conseil, ne part pas QUE sur MSN, je te conseille de faire une classe abstraite, et divers protocols en dessous, msn, jabber, aim, etc, comme ca tu pourra la distribuer à plus grande échelle, et le type qui utilise pas msn mais jabber, pourra aussi l'utiliser, etc ...
Bien sur ca demande plus de boulots :p
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 4 janv. 2008 à 00:12
il y a un problème de nom de variable dans la fonction d'interprétation . Le message entrant et le message à renvoyer utilisent la même variable : $msg.
Il vaut mieux renommer le message sortant en $out par exemple.
Je ferais la modif lors d'une mise à jour.
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 3 janv. 2008 à 23:53
On peut discuter avec mon robot à cette adresse : testmsn453@hotmail.fr mais il n'interprète rien pour le moment.
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 3 janv. 2008 à 23:50
Salut yoman64,
merci pour le commentaire, est ce que tu sait où trouver les spécification du MSNP15 ?
Qu'est ce qu'il y a de plus ?
On peut déjà avec MSNP9 faire de la transmission de fichiers et d'images. Je pense que pour un robot il faut s'en tenir à des choses simples, non ?
Pour la gestion d'erreur, j'ai pas trop touché au code d'origine, et je le trouve bordelique de toute façon...
cs_yoman64
Messages postés592Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 4 décembre 2008 3 janv. 2008 à 23:43
Salut,
Je suis un grand amateur du protocole msn et je l'ai étudié longuement il y a plusieurs années, c'est pourquoi cette source m'interesse particulièrement :).
Premièrement une petite remarque sur le protocole: Le msnp9 ça fait un peu vieillot, faut dire qu'ils en sont à msnp15 et que le 9 était utilisé dans msn6.0, le msnp15 est plus complexe et il ya plusieurs changements majeurs a tenir en compte, en fait il est très different mais je pense que ça vauderait la peine vu les possibilitées de plus que ça apporte.
Coté php, c'est dans des classes donc bien, mais la gestion d'erreur est mauvaise. Je n'ai pas regardé la partie "robot" puisque c'était surtout la partie msn qui m'interessait.
Les cotés positif maintenant: Ça peut être très interessant d'utilisé une notification par IM sur les forums, ou pour des alertes urgentes, ou etc bref beaucoup d'utilisations.
23 sept. 2008 à 09:30
Je vous rappelle que la dernière version du projet est disponible sur http://termit.tuxfamily.org.
Sur ce même site, vous trouverez la possibilité de vous inscrire à la liste de diffusion sur laquelle je vous conseil de poster vos rapports de bug et vos suggestions.
Il serait souhaitable que les questions soient accompagnées d'un journal de la session défaillante.
Merci et bonne prog à tous.
Dernière version : Révision 17 de la 0.4 béta.http://svn.tuxfamily.org/termit/termit
22 sept. 2008 à 17:15
Quelle belle tête en l'air que je suis !!!!
newbot@microshyma.com
www.newbot.microshyma.com
Merci et désolé pour le double poste !
22 sept. 2008 à 17:13
Tout d'abord, bravo pour cette source, elle n'est pas totalement complète et c'est d'ailleurs deux points que je vais voir avec vous !
Le premier est qu'il sera sympa d'ajouter un avatar au robot mais il me semble que le protocole msnp9 n'avez pas la possibilité d'y instauré un avatar à l'époque, et j'aimerais aussi lui mettre un pseudonyme !
Deuxième point que dont j'aimerais comprendre l'erreur, lorsqu'un personne ayant un compte MSN ajoute mon bot, le bot n'accepte pas la personne, et c'est à moi de l'accepter plus tard en me connectant à son compte !
Et j'aimerais cependant parler de mon bot :) J'ai programmé un robot intelligent, quand il ne reconnait pas un mot, il demande à l'utilisateur de lui apprendre la phrase qu'il devrait répondre, ca se passe comme ca :
Vous: Es-tu un robot ?
NewBot: Excuses-moi, je ne comprend pas le sens de cette phrase.
Tapes Oui si tu veux m'apprendre !
Vous: Oui
NewBot: Apprends-moi ce que je dois dire après : Es-tu un robot ?
Pour cela, tapes le message que tu veux que je répète lorsque je me retrouverais devant la phrase !
Vous: Oui, je suis un programmé en PHP !
NewBot: Ok ! Je saurais te répondre la prochaine fois :p
Vous: Es-tu un robot ?
NewBot: Oui, je suis un programmé en PHP !
C'est pas mal fait (je ne me vente pas), mais j'ai pu etablir une grande base de donnée de vocabulaire avec les gens dui parle avec lui, maintenant quand on lui demande si ca va, il est capable de vous répondre et de vous demandez à vous si ca va aussi !
Je fais un BEP électronique, et j'aimerais m'en servir pour contrôler un robot, selon ce qu'on lui dit, il l'enregistre dans une BDD, et d'un programme que j'ai fait et qui fonctionne, il serait capable de réagir à distance ! Enfin bref, ce n'est qu'un projet que projet !!
Veuillez ajouter mon robot si vous voulez lui enseigner votre language !
Je vous remerci à tous de me donner une réponse pour les deux points !!
Merci,
Maxence
19 févr. 2008 à 07:04
pour que l'ajout aux contacts fonctionne rajouter dans MSNsessionclass.php:
case 'LST':
//un item de la liste d'utilisateur, retourné par SYN
list(, $email, $name, $id, $list) = explode(' ', $data);
$list=trim($list);// >>> delete trailing blanks ...
if (!$list)
.../...
10 févr. 2008 à 08:53
est-ce qu'éventuellement, qqun aurait déjà étudié le moyen d'utiliser ce bot derrière un proxy ?
il faut que j'arrive à faire ça :D
10 févr. 2008 à 00:40
if (isset($retour) && $retour)
$this->sbsess[$email]->sendtext( $retour, $email, $type);
else
$this->sbsess[$email]->close();
10 févr. 2008 à 00:19
- TermitBot.class.php, à partir de la ligne 70 :
function sendtext($msg, $to){
return $this->session->sendtext($msg, $to);
}
- MSNSession.class.php ,à partir de la ligne 255 :
function sendtext($msg, $email){
if (! isset($this->sbsess[$email]))
$this->sbsess[$email] = new MSNSwitchboard($email, $this );
return $this->sbsess[$email]->sendtext($msg);
}
9 févr. 2008 à 22:53
9 févr. 2008 à 21:08
14 janv. 2008 à 10:58
le safe_mode n'est pas activé
si qqun a une idée....
12 janv. 2008 à 19:09
5 janv. 2008 à 14:51
5 janv. 2008 à 14:45
5 janv. 2008 à 14:44
5 janv. 2008 à 14:40
5 janv. 2008 à 14:30
5 janv. 2008 à 14:24
j'ai testé la première version qui marchais impec.
Cette dexieme version me donne aussi une erreur à la ligne 33 :
Parse error: syntax error, unexpected T_STRING, expecting ')' in /home.10.7/nomdemonsite/www/msn/TermitBot.class.php on line 33
je suis sous ovh (c'est bien du php5)
j'ai fait toutes les modifs au dessus déjà
5 janv. 2008 à 11:42
si tu veux on peut voir ça par MSN
5 janv. 2008 à 11:35
5 janv. 2008 à 11:32
c'est quoi ton erreur ?
le EventHandler.class.php est bien dans le meme répertoire que sample et que TermitBot.class.php ?
sinon tu dois mettre le chemin complet dans le TermitBot.class.php ligne 10 je pense
moi j'ai mis sample dans le mem rep que TermitBot.class.php, Termit.h.php et EvetnHandler.class.php et j'ai le sous-rep msn et ça marche nickel
là j'essaye de comprendre la source
5 janv. 2008 à 11:27
j'ai une belle erreur pour la ligne 46 dans sample.php
$eventH = new EventHandler();
bref :(
5 janv. 2008 à 11:18
ligne 33 : if ($contact = $admin_usr){
il faudrait mettre et non pas sinon la condition ne sert à rien
(enfin, je crois, j'suis pas encore bien réveillé)
5 janv. 2008 à 11:14
oui php_sockets est activé.... mais bon, ce n'est pas le lieu pour discuter de ça, je chercherais pour le moment je vais tester sous linux
5 janv. 2008 à 11:11
As tu activé php_sockets ?
5 janv. 2008 à 11:11
Ceux qui veulent peuvent m'envoyer leur adresse msn par MP ou sur mon robot testmsn453@hotmail.fr, quand il est connecté il me transmet les messages...
5 janv. 2008 à 11:09
par contre dans le phpinfo, il me dit :
Registered Stream Socket Transports tcp, udp
sur mon linux j'ai en plus ssl, ssl3, etc...
qqun sait comment activer les stream socket transports pour ssl sous windows ?
je vais de ce pas tester la nouvelle source
ps : je suis dispo sur MSN pour ceux qui souhaite discuter de tout ça
5 janv. 2008 à 11:08
Enfin, mis à part la déconnection automatique très rapide.
Sinon quand j'envois un emoticon perso :
Votre message "salut <msnobj Creator="email@email.com" Type="2" SHA1D="F3PmKDGZmh6Ch6gkZqtePheEOzE=" Size="53837" Location="0" Friendly="cwBhAGwAdQB0AAAA"/>" ne peut être interprété
(Content-Type: text/x-mms-animemoticon)
5 janv. 2008 à 11:03
5 janv. 2008 à 10:59
function __construct(EventHandler &$handler, $protocol = TERMIT_MSN){
T'es en PHP5 ?
5 janv. 2008 à 10:57
Termit/Termit.h.php' => Termit.h.php
survient alors une nouvelle erreur Parse error: parse error, expecting `')'' in c:\program files\easyphp1-8\www\termit\TermitBot.class.php on line 33
Voila ;)
5 janv. 2008 à 10:51
et pour Flachy Joe, j'avais déja testé,
Warning: include_once(Termit/Termit.h.php) [function.include-once]: failed to open stream: No such file or directory in /home/b/l/a/blablazik/www/msn2/Termit/sample.php on line 8
Warning: include_once() [function.include]: Failed opening 'Termit/Termit.h.php' for inclusion (include_path='.:/usr/local/php5/lib/php') in /home/b/l/a/blablazik/www/msn2/Termit/sample.php on line 8
Fatal error: Class 'EventHandler' not found in /home/b/l/a/blablazik/www/msn2/Termit/sample.php on line 46
J'ai cette erreur la alors que toute a l'heure avec l'autre version, tout fonctionnais bien ( ovh )
5 janv. 2008 à 10:50
include_once('Termit.h.php');
5 janv. 2008 à 10:49
En ce qui concerne le "design" / "deign" c'est normal, puisque le script prend les 4 premiers caractères du message. Donc ici, "desi" ou "deig" ... Euh ... erreur ^^ Tu as du modifier le substr ($head) à 5 au lieu de 4 pour que "deign" marche ^^
Perso, j'avais fait : substr($msg, 0, strpos($msg, ' '));
Ainsi, je récupere le 1er mot, quelque soit sa longueur :p
Aller, je vais de ce pas tester la nouvelle source ;) (10/10 en tt cas)
5 janv. 2008 à 10:47
5 janv. 2008 à 10:45
Notice: Le plugin nécéssaire au protocole msn n'est pas installé in /home/b/l/a/blablazik/www/msn2/Termit/TermitBot.class.php on line 38
Fatal error: Class 'TermitSession' not found in /home/b/l/a/blablazik/www/msn2/Termit/TermitBot.class.php on line 48
5 janv. 2008 à 10:38
quelles sont les erreurs ?
5 janv. 2008 à 10:25
5 janv. 2008 à 10:21
excellente source, je cherchais justement un truc du genre, par contre commej'ai besoin des offline message, je vais voir si je peux bosser sur une version plus récente du protocole MSN
continue comme ça :D
5 janv. 2008 à 10:15
voila donc les dernières bidouilles, je vous laisse découvrir ça...
...
...
...Voila, étant donné que je connais rien aux autres protocoles mon objet TermitBot ne correspondra pas forcement et il risque de changer quand les modules AIM, ICQ, Jabber, etc seront écrit. D'ailleurs si quelqu'un est prêt à bosser sur ceux ci, il est le bienvenu.
Par ailleurs j'ai un ennui avec le safemode qui stoppe l'exécution du robot, est ce que quelqu'un à une idée ?
5 janv. 2008 à 09:54
Je trouve ta source vraiment sympa ! ( et qui fonctionne ) par contre j'ai des petits souci quand je veux ajouter des commandes si dans 'case' je rajoute un 's' a sa définition, rien ne se passe
Interprétation:
case 'design' : -> quand je vais taper !design cela va me redire !design
Si je fais:
case 'deign' : -> quand je vais taper !deign il va me dire exactement ce que je lui demande.
Je vois que certaine source circule par mp/msn. Si il serais possible d'en faire une nouveauté sur ce poste, si possible :)
Merci d'avance.
4 janv. 2008 à 18:27
voila je voulais savoir s'il est possible de faire tourner ces sources sur un site du fournisseur Free.
Car j'ai les erreurs suivantes :
?Unable to connect to msn server
Error Connecting to the MSN Network
merci
4 janv. 2008 à 14:59
4 janv. 2008 à 14:24
Je suis en train de tout réécrire, avec tout plein d'objet dans tous les sens pour la gestion multi-protocoles mais si t'es prêt à filer ton code je te donne mon adresse mail.
4 janv. 2008 à 14:14
bref me suis amusé avec l'admin de mon coté j'ai ajouté gestion multi administrateurs, ajout de réponses directement depuis msn, déconnexion d'un administrateur, ajout d'administrateurs, etc etc
4 janv. 2008 à 12:15
4 janv. 2008 à 12:13
petit probleme lors de l'entrée de la commande :pass
il remplace :p par le smiley qui tire la langue et la commande est pas interpretée.
j'ai remplacé le : par > dans le fichier msnp9.class.php a la ligne 335 pour celui qui a le meme probleme.
4 janv. 2008 à 01:10
Pour comprendre le proto 15 le meilleur moyen est sans aucun doute un sniffer, perso c'est comme ça que j'ai toujours fait pour étudier un protocole, je comprends beaucoup mieu en le voyant en action qu'en lisant de la doc...
Mais pour les challenges (qui deviennent nettement plus complexe dans les protos actuel, et le contenu des hash contact (implanté dans msnp13) une doc c'est pas de refut donc je te laisse une piste, le bon vieu msnfanatic : http://msnpiki.msnfanatic.com/index.php/MSN_Protocol_Version_15
En fait c'est pas tant les nouvelles fonctionnalités que l'esperance de vie comme dit Codefalse, en effet il y a fort à parier que Microsoft risque de laisser tomber les proto pré-msnp11 d'ici peu de temps, comme il l'ont fait avec Passport 1.4 pour passer à passport 3.0 (méthode d'authentification de msn) ce qui à rendu des dizaines de clients obsolètes :(
Dans les fonctionnalités plus interessantes des protos plus récents, il y a entre autres les messages differés (quand on est hors ligne) ce qui serait très interessant dans le cas de notification..
Et pour l'idée de codefalse de créé une classe d'abstraction pour éventuellement gerer plusieurs messageries je la trouve excellente :) ça serait un outil très simple à implenter n'importe ou !
4 janv. 2008 à 00:33
La notification par msn est sympa :)
Mais c'est vrai qu'il est préférable d'utiliser le protocole le plus à jour, surtout que Microsoft s'amuse à bloquer les anciens protocoles (j'avais fait une source sur msn à l'époque).
Si tu veux savoir comment marche le protocole msnp15, tu peux lancer un sniffeur réseau (ethereal) et analyser les trams lors de la connexion, lors de la reception d'un message, etc, et tu pourra structurer le reseau msnp15 facilement (à peu pres).
Par contre, énorme conseil, ne part pas QUE sur MSN, je te conseille de faire une classe abstraite, et divers protocols en dessous, msn, jabber, aim, etc, comme ca tu pourra la distribuer à plus grande échelle, et le type qui utilise pas msn mais jabber, pourra aussi l'utiliser, etc ...
Bien sur ca demande plus de boulots :p
4 janv. 2008 à 00:12
Il vaut mieux renommer le message sortant en $out par exemple.
Je ferais la modif lors d'une mise à jour.
3 janv. 2008 à 23:53
3 janv. 2008 à 23:50
merci pour le commentaire, est ce que tu sait où trouver les spécification du MSNP15 ?
Qu'est ce qu'il y a de plus ?
On peut déjà avec MSNP9 faire de la transmission de fichiers et d'images. Je pense que pour un robot il faut s'en tenir à des choses simples, non ?
Pour la gestion d'erreur, j'ai pas trop touché au code d'origine, et je le trouve bordelique de toute façon...
3 janv. 2008 à 23:43
Je suis un grand amateur du protocole msn et je l'ai étudié longuement il y a plusieurs années, c'est pourquoi cette source m'interesse particulièrement :).
Premièrement une petite remarque sur le protocole: Le msnp9 ça fait un peu vieillot, faut dire qu'ils en sont à msnp15 et que le 9 était utilisé dans msn6.0, le msnp15 est plus complexe et il ya plusieurs changements majeurs a tenir en compte, en fait il est très different mais je pense que ça vauderait la peine vu les possibilitées de plus que ça apporte.
Coté php, c'est dans des classes donc bien, mais la gestion d'erreur est mauvaise. Je n'ai pas regardé la partie "robot" puisque c'était surtout la partie msn qui m'interessait.
Les cotés positif maintenant: Ça peut être très interessant d'utilisé une notification par IM sur les forums, ou pour des alertes urgentes, ou etc bref beaucoup d'utilisations.
Bonne continuation