<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog d'un développeur multi-support &#187; irc</title>
	<atom:link href="http://www.oni-ecchi.info/blog/tag/irc/feed" rel="self" type="application/rss+xml" />
	<link>http://www.oni-ecchi.info/blog</link>
	<description>[DIM] pour les intimes :)</description>
	<lastBuildDate>Fri, 18 Jun 2010 06:27:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hébergement de BOT</title>
		<link>http://www.oni-ecchi.info/blog/decouverte-php/hebergement-de-bot.html</link>
		<comments>http://www.oni-ecchi.info/blog/decouverte-php/hebergement-de-bot.html#comments</comments>
		<pubDate>Sat, 27 Sep 2008 19:49:42 +0000</pubDate>
		<dc:creator>Guillaume chave</dc:creator>
				<category><![CDATA[Découverte PHP]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriel]]></category>

		<guid isPermaLink="false">http://www.oni-ecchi.info/blog/?p=72</guid>
		<description><![CDATA[Dans un article précédent, nous avions vu comment créer un bot IRC en PHP. Seulement assurer la connexion du bot sur le salon était assez laborieux. Un processus php par bot qui tourne sur votre machine, c&#8217;est pas folichon.
Mais grâce à http://new.imified.com, ce souci n&#8217;en est plus un ! Ce service web permet de connecter [...]]]></description>
			<content:encoded><![CDATA[<p>Dans un article précédent, nous avions vu comment créer un bot IRC en PHP. Seulement assurer la connexion du bot sur le salon était assez laborieux. Un processus php par bot qui tourne sur votre machine, c&#8217;est pas folichon.</p>
<p>Mais grâce à <a href="http://new.imified.com/">http://new.imified.com,</a> ce souci n&#8217;en est plus un ! Ce service web permet de connecter un bot à MSN, IRC, Gtalk etc et ce bot demandera à votre page PHP ce qu&#8217;il doit faire.</p>
<p>Au final nous n&#8217;avons plus qu&#8217;a se consacrer sur les réponses et les traitements à faire en fonction du dialogue de l&#8217;utilisateur (donnée récupérer sous forme de $_GET). Fini le parsage du stream pour détecter la bonne ligne ^^</p>
<p>Je vous avouerais, j&#8217;ai pas encore tester. Mais je compte le faire un de ces quatres :) Je pense que c&#8217;est LA solution pour créer rapidement un compagnon virtuel &#8230; Imaginer un bot de ce style qui pilote votre twitter, facebook etc. Vous lui parlez, il s&#8217;occupe du reste :)</p>
<p><cite class="aligncenter">Vu sur le channel #symfony-fr (irc.freenode.com) grâce à [MA]Pascal.<br />
Il a crée un bot qui relaie ce que vous lui dites sur un site donné. (Système de prise de notes rapide) <br /> Ajouter <span style="font-size: small;"><span style="color: #000000;"><a href="mailto:paste@bot.im">paste@bot.im</a></span></span> à votre compte Gtalk et parler lui. Enfin, cela reste surtout un bot de test, réalisé avec Symfony 1.2 et Doctrine (un ORM comme propel) </cite></p>
]]></content:encoded>
			<wfw:commentRss>http://www.oni-ecchi.info/blog/decouverte-php/hebergement-de-bot.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Découverte : BOT IRC</title>
		<link>http://www.oni-ecchi.info/blog/decouverte-php/decouverte-bot-irc.html</link>
		<comments>http://www.oni-ecchi.info/blog/decouverte-php/decouverte-bot-irc.html#comments</comments>
		<pubDate>Sun, 31 Aug 2008 15:41:12 +0000</pubDate>
		<dc:creator>Guillaume chave</dc:creator>
				<category><![CDATA[Découverte PHP]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[irc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutoriel]]></category>

		<guid isPermaLink="false">http://www.oni-ecchi.info/blog/?p=3</guid>
		<description><![CDATA[Bonjour, j&#8217;ai pu découvrir comment créer un bot IRC en PHP grâce à la communauté IRCienne de symfony. (Qu&#8217;est ce qu&#8217;IRC ? Qu&#8217;est ce qu&#8217;un Bot ?). Tout est expliqué sur cette page.
Squattant en ce moment le chan (salon de discutions) de symfony-fr, je passe mon temps à remercier les uns les autres. Depuis peu [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour, j&#8217;ai pu découvrir comment créer un bot IRC en PHP grâce à la communauté IRCienne de symfony. (<a href="http://fr.wikipedia.org/wiki/Internet_Relay_Chat" target="_blank">Qu&#8217;est ce qu&#8217;IRC </a>?<a href="http://fr.wikipedia.org/wiki/Robot_IRC" target="_blank"> Qu&#8217;est ce qu&#8217;un Bot ?</a>). Tout est expliqué sur <a href="http://classes.scriptsphp.org/article.Un-bot-IRC" target="_blank">cette page</a>.</p>
<p>Squattant en ce moment le chan (salon de discutions) de <a href="http://trac.symfony-project.org/wiki/Resources/fr_FR" target="_blank">symfony-fr</a>, je passe mon temps à remercier les uns les autres. Depuis peu même j&#8217;arrive à aider les nouveaux ^^. Je me suis donc dit que ca serait bien d&#8217;avoir un système pour compatibiliser le nombre de &laquo;&nbsp;merci&nbsp;&raquo; par personnes et d&#8217;en sortir quelques statistiques.</p>
<p>Ainsi est née le bot qui sert à avoir une système à points. Chacun peut donc donner, ou enlever un point, et le robot fera le compte.</p>
<h3>Fonctionnement<a href="http://www.oni-ecchi.info/blog/wp-content/uploads/2008/08/bot_example.png" target="_blank"><img class="size-thumbnail wp-image-15 alignright" title="bot_example" src="http://www.oni-ecchi.info/blog/wp-content/uploads/2008/08/bot_example-150x150.png" alt="" width="150" height="150" /></a></h3>
<p>Après quelques discutions sur le channel de symfony, j&#8217;ai mis au point 4 petites commandes que le bot va interpréter :</p>
<p>!point guillaume<br />
!malus guillaume<br />
!bonus guillaume<br />
!total</p>
<h3>Comment ca marche ?</h3>
<p>Le bot est écrit en PHP 5 et se lance via une ligne de commande du style :</p>
<blockquote><p>php -f utilisation.php</p></blockquote>
<p>Il n&#8217;y a que peu de classes pour le faire fonctionner :</p>
<ol>
<li>Une classe de connexion qui s&#8217;occupe de créer un flux de donnée (une socket via fsockopen), de se connecter à un channel irc,  de pouvoir transmettre des commandes IRC et de récupérer ligne par ligne ce qui se passe sur le channel.</li>
<li>Une classe principal qui permet de garder le flux de donné ouvert (et donc fait en sorte que le bot reste sur le channel IRC), et qui permet de lancer des Plugins. Son rôle tient plus d&#8217;un controlleur PHP que d&#8217;une classe à mon sens.</li>
<li>Une interface et une classe de base pour la gestion des Plugins. En fait un plugin est une classe qui contient le coeur d&#8217;un programme et permet de réagir vis à vis d&#8217;un évènement sur le channel. Un plugin fait donc office <a href="http://www.design-patterns.fr/Observateur.html" target="_blank">d&#8217;observateur</a> puisqu&#8217;il permet d&#8217;écouter des évènements mais il s&#8217;obverse lui même vu qu&#8217;il traite ces évènements et y répond.</li>
</ol>
<p>J&#8217;ai donc créer un plugin et modifier un temps soit peu la classe principal pour avoir à tout moment la liste des utilisateurs du channel. Au final le code n&#8217;est pas bien compliquer et bien long (330 lignes à tout casser). Les points sont stocker dans une base de données local (voui, pas besoin de serveur en ligne vu que l&#8217;on lance le bot en local on peut accèder à une base en local ^^). Quelques random rendent le bot sympathiques pour avoir des phrases de réponses un peu plus humaine.</p>
<p>Je ne vous donne pas le code source de cette petite application car je le juge &laquo;&nbsp;pas très propre&nbsp;&raquo; et je pense y faire encore pas mal de modifications dessus :)</p>
<h3>Pour la suite</h3>
<p>Je prévois de faire une application <a href="http://symfony-project.com/" target="_blank">symfony </a>pour ajouter/modifier des phrases de réponses clées. Faire des graphiques de statistiques, et ré-initalisé la base de données à souhait. Tout n&#8217;est pas encore fixé, mais j&#8217;aimerais bien une console d&#8217;administration du bot à distance sympathique :)</p>
<p>Voilà voilà</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oni-ecchi.info/blog/decouverte-php/decouverte-bot-irc.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
