Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
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
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
Sources de la même categorie
Commentaires
Discussions en rapport avec ce code source
|
Téléchargements
Logiciels à télécharger sur le même thème :
|