Phpbot pour irc

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 / Exemple :


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

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.