BOT IRC : GÉNÉRATEURS DE LOGS AU FORMAT MIRC

Signaler
Messages postés
1123
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47180-bot-irc-generateurs-de-logs-au-format-mirc

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
j'aime bien le concept.

idealement, t'aurais du faire une interface genre IrcReader avec des methodes genre :
OnPrivMsg
OnNotice
etc...
Messages postés
17
Date d'inscription
jeudi 13 avril 2006
Statut
Membre
Dernière intervention
1 décembre 2008

Après avoir ajouté diverses focntion à mon bot, mais qui se trouvaient dans la class Irc_log elle même, j'ai décidé de refaire tout le code :
Une mini gestion des erreurs, une class de connexion, une class pour le bot, une class pour les stats.

J'ai encore des bugs, mais pour l'instant, rien de méchant, je me met dessus cette après midi.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

je ne vais pas redire ce qui a été dit; donc, j'ajouterais juste que je trouve ça pas mal comme code : c'est propre, clair, pas mal codé...pour un débutant en PHP5, c'est très bien :-)
Messages postés
255
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
9 août 2013
4
En fait c'est pas très compliqué, comme tu as pu le voir le bloc try{ ... }catch(Exception $e){ ... } est fait pour "attraper" les exceptions qui seraient "jetées" par ton application.
Tu dois identifier les erreurs qui peuvent survenir, pennons l'exemple de ta fonction connexion, une exception évidente serait : on n'as pas réussi à ouvrir notre socket parce que par exemple le serveur n'existe pas ou encore le port est bloqué, il te faudra donc tester le $errno de fsockopen et selon sa valeur tu va jeter une exception correspondant au type d'erreur et tu peu même incorporer dans le message de ton exception $errstr, exemple :

throw new UnknowServerException('Exception : '.$errstr);
throw new PortException('Exception : '.$errstr);
(Ce ne sont que deux rapides exemples)

Bien évidement tu vas devoir créer les classes correspondant aux exceptions en les faisant hériter de la classe Exception et ensuite dès que tu va faire appel à ta fonction connexion c'est la que tu met ton bloc try{}catch(){} :)

Pour une meilleure explication : http://classes.scriptsphp.org/article.PHP-5-et-les-exceptions
Afficher les 8 commentaires