Accueil > > > PHPBOT POUR IRC
PHPBOT POUR IRC
Information sur la source
Description
Bon j'ai codé un ptit bot en php pour irc, très basique je le post pour des améliorations si vous pourriez m'aider pour l'autojoin je n'arrive pas a le programmer.. , euh voila je vous met le batch qui me sert a lancer le bot(je suis sous win)!
Source
- la source PHP :
- <?php
- //B0t codé par Vamp.
- //bot irc.
- $socket = fsockopen( 'servor' , port en générale[6667] );//connection a worldnet par le port 6667.
-
- if (!$socket) exit(0);//si la socket ne repond pas le programme ce ferme.
- fputs( $socket , "USER Host :pseudo\r\n" );//paramêtre :USER (host)(pseudo).
- fputs( $socket , "NICK nickname\r\n" );//NICK du bot (pseudo).
- fputs( $socket , "identify password\r\n");//mot de pass pour l'authentification.
- fputs( $socket , "JOIN #php,#channel\r\n");//chan que le bot va joindre.
- fputs( $socket , "PRIVMSG plop!! :\r\n");//msg
-
- while(1)//boucle pour la connection.
- {
- $data = fgets($socket, 1024);
- $data = trim($data);
- echo $data;
- $tab = explode(" ",$data);
-
- if($tab[0] == "PING")
- {
- fputs($socket, "PONG $tab[1]\r\n");
- echo "PING PONG OK\n";
- }
- //fonction du B0t
-
- if($tab[3] == ":!clock")//affiche l'heure.
- {
- fputs($socket, "PRIVMSG ".$tab[2]." :".date('H:i')."\r\n");
- }
- if($tab[3] == ":!date")//affiche la date x) .
- {
- fputs($socket , "PRIVMSG ".$tab[2]." :".date("d/m/Y")."\r\n");
- }
- //script irc du bot
- if($tab[3] == ":!sh00t" && !empty($tab[4]))//kick un membres.
- {
- fputs($socket, "KICK ".$tab[2]." ".$tab[4]." :TG !\r\n");
- }
- if($tab[3] == ":!p4rt")//fait partir le B0t d'un channel.
- {
- fputs($socket , "PART :pluS !\r\n");
- }
- if($tab[3] == ":!q-ageek")//fait quitter le B0t de l'irc.
- {
- fputs($socket , "QUIT :Bye!\r\n");
- }
- if($tab[3] == ":!topic" && !empty($tab[4]))//Change le topic du channel.
- {
- fputs($socket , "TOPIC ".$tab[2]." ".$tab[4]." :\r\n");
- }
- //regex..
- if(preg_match("/(.*) PRIVMSG (.*) :!lenvers (.*)/",$data,$out))//fonction. met un mot a lenvers.
- {
- list(,$host,$chan,$arg) = $out;
- fputs($socket,"PRIVMSG ".$chan." :".strrev($arg)."\r\n");
- }
- if(preg_match("/(.*) PRIVMSG (.*) :!say chan:(.*) msg:(.*)/",$data,$out))//envoie un msg sur un chan.
- {
- list(,$host,$chan,$chan_dest,$message) = $out;
- fputs($socket, "PRIVMSG ".$chan_dest." :".$message."\r\n");
- }
- }
- ?>
la source PHP :
<?php
//B0t codé par Vamp.
//bot irc.
$socket = fsockopen( 'servor' , port en générale[6667] );//connection a worldnet par le port 6667.
if (!$socket) exit(0);//si la socket ne repond pas le programme ce ferme.
fputs( $socket , "USER Host :pseudo\r\n" );//paramêtre :USER (host)(pseudo).
fputs( $socket , "NICK nickname\r\n" );//NICK du bot (pseudo).
fputs( $socket , "identify password\r\n");//mot de pass pour l'authentification.
fputs( $socket , "JOIN #php,#channel\r\n");//chan que le bot va joindre.
fputs( $socket , "PRIVMSG plop!! :\r\n");//msg
while(1)//boucle pour la connection.
{
$data = fgets($socket, 1024);
$data = trim($data);
echo $data;
$tab = explode(" ",$data);
if($tab[0] == "PING")
{
fputs($socket, "PONG $tab[1]\r\n");
echo "PING PONG OK\n";
}
//fonction du B0t
if($tab[3] == ":!clock")//affiche l'heure.
{
fputs($socket, "PRIVMSG ".$tab[2]." :".date('H:i')."\r\n");
}
if($tab[3] == ":!date")//affiche la date x) .
{
fputs($socket , "PRIVMSG ".$tab[2]." :".date("d/m/Y")."\r\n");
}
//script irc du bot
if($tab[3] == ":!sh00t" && !empty($tab[4]))//kick un membres.
{
fputs($socket, "KICK ".$tab[2]." ".$tab[4]." :TG !\r\n");
}
if($tab[3] == ":!p4rt")//fait partir le B0t d'un channel.
{
fputs($socket , "PART :pluS !\r\n");
}
if($tab[3] == ":!q-ageek")//fait quitter le B0t de l'irc.
{
fputs($socket , "QUIT :Bye!\r\n");
}
if($tab[3] == ":!topic" && !empty($tab[4]))//Change le topic du channel.
{
fputs($socket , "TOPIC ".$tab[2]." ".$tab[4]." :\r\n");
}
//regex..
if(preg_match("/(.*) PRIVMSG (.*) :!lenvers (.*)/",$data,$out))//fonction. met un mot a lenvers.
{
list(,$host,$chan,$arg) = $out;
fputs($socket,"PRIVMSG ".$chan." :".strrev($arg)."\r\n");
}
if(preg_match("/(.*) PRIVMSG (.*) :!say chan:(.*) msg:(.*)/",$data,$out))//envoie un msg sur un chan.
{
list(,$host,$chan,$chan_dest,$message) = $out;
fputs($socket, "PRIVMSG ".$chan_dest." :".$message."\r\n");
}
}
?>
Conclusion
Bon bah comme vous l'auriez constatez c'est pas du gros code ^^', je veut juste des opinions, critiqué comme des brutes :).
Merci de ne pas utiliser le bot pour nuir au autres chan(flood, insulte, gamineries)!
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
IRC avec PHP AIDE [ par picsoumax ]
Salut j'ai testé le listing de chan avec le source du site mais un petit problème j'ai du male à piger son fonctionnement car il y a peut de commentai
Futurscripts.com :: Scripts IRC, Php, Javascripts, kits graphiques, tutoriaux... [ par Neoziro ]
Si vous cherchez des scripts en php, javascript, IRC et des kits-graphiques mais aussi de nombreux tutoriaux sur le php et photoshop, c'est sur Futurs
Requetes sur un forum pour IRC [ par BiGOuF ]
Bonjour, Tout d'abord,je voudrais vous dire que je ne vaux rien en PHP, ce qui pourrait expliquer que la question que je vais poser est peut-être
Server cs -> Page internet (peut etre aucun rapport avec du php) [ par kaeral ]
Bonjours a tous, je vous explique ce que je souhaiterais faire :j'ai un server cs priver acces ftp etc ....(partie eventuellement php)je souhaiterai
Client IRC en PHP AJAX (ou Javascript) [ par OscarWell ]
Bonjour, Je suis à la recherche d'un client IRC entièrement écrit en PHP / AJAX. Je ne veux surtout pas un client en Flash ou Applet Java. J'ai beau
Tchat IRC en php [ par Ramboul ]
Salut a tous!J'aurais voulu savoir si vous conaissiez un script php comme cgi:irc pour se connecter a un réseau irc mais je voudrais comme cgi:irc mai
Chat en php [ par Ramboul ]
Salut,Je cherche un tchat en php pour mon site car j'ai déja un tchat mais il requiert d'avoir l'applet java.J'aimerai qu'il redeirige vers irc.quaken
IRC et PHP [ par spEps ]
Salut,J'ai mis un chat IRC avec BestOfChat.comsur mon site et je souhaiterais afficher lenombre de connectés avant qu'on entresur le chat, c'est à dir
php sur irc [ par goujpat ]
Bonjour, je possede un jeu de pendu en php, je sais qu'il est possible de le faire tourner sur un script irc.Je precise je suis debutant mais j'aime a
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|