Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PHPBOT POUR IRC


Information sur la source

Catégorie :Réseau & Internet Classé sous : b0t, irc, php, V4mp Niveau : Initié Date de création : 22/09/2007 Vu / téléchargé: 6 345 / 173

Note :
2 / 10 - par 1 personne
2,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

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)!
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de coucou747 le 23/09/2007 14:48:51 2/10

t'as pas mis une seule fonction, t'as pas mis une seule classe, t'as pas mis de parsing des reponses, t'as pas mis de gestion de multi-chans, t'as juste mis une demo pour se connecter de facon imperative a un serv IRC

signaler à un administrateur
Commentaire de V4mp le 24/09/2007 12:31:08

Euh, ouai je sais que c'est pas du bon code mais comment je pourrais l'améliorer jusqu'ici je l'ai fait seul... .

signaler à un administrateur
Commentaire de killer19 le 24/09/2007 20:51:56

Coucou747, je te trouve un peu dur... Cette source a sa prétention, et ce n'est certainement pas de créer un client IRC nextgen. C'est simplement un petit code de connection, pour mettre en pratique les connections socket.

signaler à un administrateur
Commentaire de coucou747 le 24/09/2007 20:57:23

killer19, je suis dur, c'est possible, MAIS :
cette source seule, ne sert a rien...
pourquoi ? parce-qu'on ne peut pas l'adapter sans quasiment tout recoder...

signaler à un administrateur
Commentaire de V4mp le 25/09/2007 21:53:11

Roh ça va hein je le post elle sert a rien et alors ? je vais pas tout refaire pour toi -_-...

signaler à un administrateur
Commentaire de coucou747 le 25/09/2007 22:05:56

refaire 65 lignes pour moi, non, rassures toi, je ne te demandes pas cet effort...
http://www.phpcs.com/codes/CHAT-IRC_38332.aspx
la, j'ai deja ma classe de gestion de l'irc... elle date un peu, c'est du php4, mais ...
http://www.javafr.com/codes/APPLET-IRC-ANNA-BOTEN-BOT-IRC-PERMET-JOUER_43778.aspx
la j'ai ma classe neuve, pour faire un bot irc en java...

et ca c'est du reutilisable...

signaler à un administrateur
Commentaire de V4mp le 25/09/2007 22:44:45

Ok merci de ton partage ça va m'aider :)!

Ajouter un commentaire

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-&#234;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 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 Chaîner 3 listes déroulantes en AJAHT [ par anil16 ] Salut,j'ai trouver le code source Chaîner 3 listes déroulantes en AJAHT <a title="ici" href=" http://www.phpcs.com/codes/CHAINER-LISTES-DEROULANTES-AJ


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,593 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.