Vous n'êtes pas identifié(e).

Top posteurs

Statistiques

Partenaires

  • eXolia Hosting
  • Eggdrop.fr

#1 20/08/2012 19:36:29

Supa
Nouveau IRCzien
Inscription : 20/08/2012
Messages : 3

[ Cservice.php ]

Avec le manque de temps j'ai arreté de programmé sur mon Server [UnrealIRCD]
Je vous publie donc le debut de la source de mon Cservice en php libre à vous d'en faire ce que vous voulez !

Fonction: Cservice en php lié a une db.

Vous pouvez donc vous servir de ma source

Code: PHP
<?php
 
/** 
* IriX.php - irc.cyber-live.com - 2012
* @autor: AQUAIRE Simon <simon.aquaire@gmail.com>
* @category: Network/irc
* @version 0.1
* @Protection: Sous la loi du copyright
* @Table chanreg -> name,topic,welcome,mode,suspendchan,owner(6)
* @Table csadmin -> login,pass,access,status(4)
*/
 
 $socket = fsockopen( 'irc.cyberax.fr' , 6667 );
 if (!$socket) exit(0);//si la socket ne repond pas le programme ce ferme.
 fputs( $socket , "USER IriX IriX@87.98.135.187 cyberax.fr :Php Bot v1\n");
 fputs( $socket , "NICK IriX\r\n" );//NICK du bot (pseudo).
 fputs( $socket , "OPER bot styxexplozion\r\n");
 fputs( $socket , "SAJOIN IriX #IriX\r\n");
 fputs( $socket , "MODE #IriX +ntiso IriX\r\n");
 fputs( $socket , "PRIVMSG #IriX :Connexion de IriX à ".date('H:i')." pour irc.cyberax.fr\r\n");
 $db = mysql_connect('localhost', 'simon', '************');
		mysql_select_db('simon',$db);
		$sql = 'SELECT name,topic,welcome,mode,suspendchan FROM chanreg';
		$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
		fputs($socket, "Chatops :XisK.php reconnection en cours - simon.aquaire@gmail.com\r\n"); 
		while($data = mysql_fetch_assoc($req))
    		{    
			fputs($socket, "PRIVMSG #IriX :Paramétrage du salon ".$data['name']." => en cours\r\n");
			fputs($socket, "JOIN ".$data['name']."\r\n");
			fputs($socket, "MODE ".$data['name']." +".$data['mode']."o IriX\r\n");
			fputs($socket, "TOPIC ".$data['name']." :".$data['topic']."\r\n");
			fputs($socket, "PRIVMSG #IriX :Paramétrage du salon ".$data['name']." => OK\r\n");
		}
	mysql_close();
 
 
 while(1)//boucle pour la connection.
 {
 $data = fgets($socket, 1024);
 $data = trim($data);
 $tab = explode(" ",$data);
 $tab0 = explode(':',$data,3);
 $cmd = trim($tab0[0]);
 $tab1 = explode('!',$tab0[1]);
 $nick = trim($tab1[0]);
 echo "$data\r\n";
 
 if($tab[0] == "PING")
 {
 	fputs($socket, "PONG $tab[1]\r\n");
 	echo "PING PONG OK";
 }
 if($tab[3] == ":***") 
 { 
	if($tab[4] == "OperOverride") { 
		fputs($socket, "PRIVMSG #IriX :[NOTICE SERVER] HACK ".$tab[6]." ".$tab[8]." ".$tab[9]." ".$tab[10]." ".$tab[11]."\r\n");
	}
	elseif($tab[4] == "ChatOps") {	
		fputs($socket, "PRIVMSG #IriX :[ChatOps] ".$tab[7]." ".$tab[8]." ".$tab[9]." ".$tab[10]." ".$tab[11]." ".$tab[12]." ".$tab[13]." ".$tab[14]." ".$tab[15]." ".$tab[16]." ".$tab[17]." ".$tab[18]." ".$tab[19]." ".$tab[20]."\r\n");
	}
	elseif($tab[6] == "forced") { 
		fputs($socket, "PRIVMSG #IriX :[FORCE JOIN] ".$tab[9]."\r\n"); 
	}
	elseif($tab[2] == "AUTH") { 
		echo "AUTH Serv"; 
	}
	elseif($tab[4] == "Notice") {
			if($tab[12] == "SAJOIN") {	fputs($socket, "PRIVMSG #IriX :[SAJOIN] ".$tab[15]." ".$tab[17]." Par ".$tab[9]."\r\n"); }
	} else { fputs($socket, "PRIVMSG #IriX :[NOTICE SERVER] ".$data."\r\n"); }
 }
 
// CMD CLOCK // 
 if($tab[3] == ":!heure")//affiche l'heure.
 {
 	fputs($socket, "PRIVMSG ".$tab[2]." :".date('H:i')."\r\n");
 }
 if($tab[3] == ":!aide")//affiche l'aide en privé
 {
	fputs($socket, "NOTICE ".$nick." :!commande (Description) [Level]\r\n");
	fputs($socket, "NOTICE ".$nick." :!csadmin (Affiche les Csadmin présent)\r\n");
	fputs($socket, "NOTICE ".$nick." :!heure (Affiche l'heure actuel du Robot)\r\n");
	fputs($socket, "NOTICE ".$nick." :Note: Ceci n'est pas la version final de l'aide\r\n");
	fputs($socket, "PRIVMSG #IriX :[SHOWCOMMANDS] accordé pour ".$nick."\r\n");
 }
 if($tab[3] == ":!test") { fputs($socket, "PRIVMSG ".$tab[2]." :".$tab1." ".$nick." test\r\n"); }
 if($tab[3] == ":!liste") {
	if($tab[4] == "chan") {
	$db = mysql_connect('87.98.135.187', 'simon', '************');
		mysql_select_db('simon',$db);
		$sql = 'SELECT name,owner FROM chanreg ORDER BY name';
		$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
		fputs($socket, "PRIVMSG #IriX :[LIST REGCHAN] accordé pour ".$nick."\r\n");
		while($data = mysql_fetch_assoc($req))
    		{    
			fputs($socket, "PRIVMSG ".$tab[2]." :Salon: ".$data['name']." Propiétaire: ".$data['owner']."\r\n"); 
		}
	mysql_close();
	}
 }//Fin de !list
 if($tab[3] == ":!csadmin") { 
		$db = mysql_connect('87.98.135.187', 'simon', '************');
		mysql_select_db('simon',$db);
		$sql = 'SELECT login,pass,access,status FROM csadmin';
		$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
		fputs($socket, "NOTICE ".$nick." :Authed - Level - Pseudo\r\n");
		fputs($socket, "PRIVMSG #IriX :[CSADMIN] par ".$nick." - ".$tab[2]."\r\n"); 
		while($data = mysql_fetch_assoc($req))
    		{    
			fputs($socket, "NOTICE ".$nick." :".$data['status']." - ".$data['access']." - ".$data['login']."\r\n"); 
		}
	mysql_close();
	}//Fin de !csadmin
 if ($tab[1] == "PRIVMSG") { 
	if($tab[3] == ":csauth") { 
	if($tab[4] == "" || $tab[5] == "" ) { fputs($socket, "NOTICE ".$nick." :/msg IriX CSAUTH <login> <pass>\r\n"); } else {
		$db = mysql_connect('87.98.135.187', 'simon', '************');
		mysql_select_db('simon',$db);
		$sql = "select * from csadmin where login='".$tab[4]."'";
  		$req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error());
		$data = mysql_fetch_assoc($req);
		if($data['pass'] != $tab[5]) {
    		fputs($socket, "NOTICE ".$nick." :Mauvais login / password. Merci de recommencer\r\n");
			fputs($socket, "PRIVMSG #IriX :[CSAUTH] non accordé pour ".$nick."\r\n");
  	} else {
    		session_start();
    		$_SESSION['login'] = $login;
    		fputs($socket, "NOTICE ".$nick." :Vous etes bien logué, Merci\r\n");
		fputs($socket, "PRIVMSG #IriX :[CSAUTH] accordé pour ".$nick."\r\n");
		fputs($socket, "INVITE ".$nick." #IriX\r\n");
		fputs($socket, "NOTICE ".$nick." :12Bienvenue chez les Csa - Le Robot est en construction: pour toute demande #IriX -- Supa\r\n");
		$sql = "UPDATE csadmin SET status = 'YES' WHERE login='".$tab[4]."'";
		$req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error());
		mysql_close();
 
		  }//FIN CSA
	} //FIN PRIVMSG
}//FIN WHILE
if($tab[3] == ":csdeauth") {
		$db = mysql_connect('localhost', 'simon', '************');
		mysql_select_db('simon',$db);
		$sql = "UPDATE csadmin SET status = 'NO' WHERE login='".$nick."'";
		fputs($socket, "NOTICE ".$nick." :Vous etes bien Csdeauth, Merci\r\n");
		fputs($socket, "PRIVMSG #IriX :[CSDEAUTH] accordé pour ".$nick."\r\n");
		$req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error());
		mysql_close();
		}
}
}
?>

Hors ligne

#2 20/08/2012 19:38:38

Supa
Nouveau IRCzien
Inscription : 20/08/2012
Messages : 3

Re : [ Cservice.php ]

Je répondrai a vos question si le besoin est !

Le but de ce service été de crée un Robot en php que je devait lié au site du serveur avec le Uworld+Nickserv de même language afin de facilité l'administration de mon serveur via mon telephone mais aussi pour les users.

Ps: si un modo pouvais deplacé mon sujet dans les snippets se serai fort sympathique de sa part (je n'ai pas lu toutes les catégories) et je m'en excuse.

Dernière modification par Supa (20/08/2012 19:46:53)

Hors ligne

#3 21/08/2012 03:25:46

Batos
Banni(e)
Inscription : 06/11/2011
Messages : 25

Re : [ Cservice.php ]

Merci du partage smile

Hors ligne

#4 21/08/2012 20:20:48

Supa
Nouveau IRCzien
Inscription : 20/08/2012
Messages : 3

Re : [ Cservice.php ]

Pas de soucis au besoin je peux encore aidé au développement

Hors ligne

#5 10/09/2012 23:17:05

TrenT
Nouveau IRCzien
Inscription : 06/08/2012
Messages : 9

Re : [ Cservice.php ]

Merci Supa, je me permet de prendre des sources pour les modifiées à ma guise.


¤ Tr€nT ¤

Hors ligne

#6 05/11/2012 20:33:12

Fantöm
Nouveau IRCzien
Lieu : Jupille-Sur-Meuse Liége
Inscription : 20/04/2012
Messages : 15

Re : [ Cservice.php ]

Bonsoir,

Merci du partage


_-----------------------------EDIT-----------------

OPER :You have not registered

Je comprend pas pourquoi

Dernière modification par Fantöm (05/11/2012 21:41:32)

Hors ligne

Pied de page des forums

474985 visites ( 133 aujourd'hui ) 3 visiteurs en ligne
Copyright © 2004 - 2013 IRCz