begin process at 2012 02 15 01:51:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > PHPBOT POUR IRC

PHPBOT POUR IRC


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Classé sous :b0t, irc, php, V4mp Niveau :Initié Date de création :22/09/2007 Vu / téléchargé :9 047 / 234

Auteur : V4mp

Ecrire un message privé
Site perso
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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip TAPI : METTRE EN RELATION DEUX POSTES TELEPHONIQUES par ravery
Source avec Zip CLIENT / SERVEUR : LES SOCKETS par Morphinof
Source avec Zip VALIDATEUR_3WC par lezj
Source avec Zip MYGGL GOOGLE API CLASS FOR BEGINERZ par lezj
CLASSE WIKILOC par aKheNathOn

 Sources en rapport avec celle ci

Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter
EXEMPLE D'APPLICATION DE L'ALGORITHME DE DIJKSTRA EN PHP par philtr8
Source avec Zip Source avec une capture EL COYOTOS LIVRE D'OR PHP 5 par elcoyotos
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
BOT IRC : GÉNÉRATEURS DE LOGS AU FORMAT MIRC par simonviei

Commentaires et avis

Commentaire de coucou747 le 23/09/2007 14:48:51 administrateur CS 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

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... .

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.

Commentaire de coucou747 le 24/09/2007 20:57:23 administrateur CS

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...

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 -_-...

Commentaire de coucou747 le 25/09/2007 22:05:56 administrateur CS

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...

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales