à la demande d'un utilisateur de la board je me permet de refaire un tuto
@Source: Eggdrop.fr - wiki:mysqltcl
Pré-requis: Votre dédié dois disposer d'un serveur mySQL
le package mysqltcl
information:
Le package mysqltcl permet a un script TCL d'effectuer des requêtes
sur une base de donnée SQL, On va donc travailler sur les principales
requêtes qui sont: INSERT INTO, UPDATE, SELECT & DELETE FROM, mais avant
on va préparer le serveur à accueillir les requêtes via le language TCL
Nous avons besoin du package mysqltcl
logguez-vous en root sur votre serveur et effectuez la commande suivante
Si vous n'avez pas accès au root du dédié demandez à l'administrateur
si le package mysqltcl à été installé sur son dédié
Ce dont on a besoin pour ce TCL:
Le login
Le pass
Le nom de la base
un endroit pour générer une socket
on commence:
on va donc maintenant créer notre requête SQL pour créer notre
On crée donc par la même occasion l'accès (pseudo Ahinu) avec le mot de passe (pass b3rliN) sur le grade IRC Admin (grade 4)
dont le suspend n'est pas actif (suspend Off) ou l'accès n'est pas utilisé (status off) et le nick n'est pas logué (nick 0)
On va dans un premier temps créer la configuration de connexion à la base mySQL
Et afficher la liste des utilisateurs enregistrés dans le robot
Si vous exécutez la commande !admin vous verrez apparaître:
PS: Ce tutoriel sera mis à jour très fréquemment
@Source: Eggdrop.fr - wiki:mysqltcl
Pré-requis: Votre dédié dois disposer d'un serveur mySQL
le package mysqltcl
information:
Le package mysqltcl permet a un script TCL d'effectuer des requêtes
sur une base de donnée SQL, On va donc travailler sur les principales
requêtes qui sont: INSERT INTO, UPDATE, SELECT & DELETE FROM, mais avant
on va préparer le serveur à accueillir les requêtes via le language TCL
Nous avons besoin du package mysqltcl
logguez-vous en root sur votre serveur et effectuez la commande suivante
Code :
# apt-get install mysqltcl
Si vous n'avez pas accès au root du dédié demandez à l'administrateur
si le package mysqltcl à été installé sur son dédié
Ce dont on a besoin pour ce TCL:
Le login
Le pass
Le nom de la base
un endroit pour générer une socket
on commence:
on va donc maintenant créer notre requête SQL pour créer notre
table
Code :
--
-- Structure de la table `acces`
--
CREATE TABLE `acces` (
`pseudo` TEXT NOT NULL ,
`pass` TEXT NOT NULL ,
`grade` TEXT NOT NULL ,
`suspend` TEXT NOT NULL ,
`status` TEXT NOT NULL ,
`nick` TEXT NOT NULL
) ENGINE = MYISAM DEFAULT CHARSET=latin1;
--
-- Contenu de la table `acces`
--
INSERT INTO `acces` (`pseudo`, `pass`, `grade`, `suspend`, `statut`, `nick`) VALUES ('Ahinu', 'b3rliN', '4', 'OFF', 'OFF', '0');
dont le suspend n'est pas actif (suspend Off) ou l'accès n'est pas utilisé (status off) et le nick n'est pas logué (nick 0)
Code :
# vi acces.tcl
On va dans un premier temps créer la configuration de connexion à la base mySQL
Et afficher la liste des utilisateurs enregistrés dans le robot
tcl
#######################################
# Mon premier script tcl avec mysqtcl #
#######################################
#Login mySQL
set ahi(sql:login) "ahinu"
#Pass mySQL
set ahi(sql:pass) "beRl1"
#base mySQL
set ahi(sql:db) "ahinu"
#IP mySQL
set ahi(sql:host) "127.0.0.1"
#socket mySQL
set ahi(sql:sock) "/tmp/ahi.sock"
#Vérification si le package mysqltcl est prèsent !
catch {package require mysqltcl}
# Connexion à la base SQL #
proc service:connect {} {
set ::mysqlink [mysqlconnect -host $::ahi(sql:host) -user $::ahi(sql:login) -password $::ahi(sql:pass) -sock $::ahi(sql:sock)]
mysqluse $::mysqlink $::ahi(sql:db)
}
# Déconnexion de la base SQL #
proc service:deconnect {} {
mysqlclose $::mysqlink; unset -nocomplain ::mysqlink
}
bind pub - !admin admin:pub
proc admin:pub {nick host hand channel arg} {
set nbadmin "0"
set nblog "0"
dccbroadcast "*** \2Admin\2 by $nick"
putquick "NOTICE $nick :\2\0034Authed IDNick Level Nick"
service:connect
mysqlsel $::mysqlink "SELECT * FROM `acces` ORDER BY pseudo"
if {[mysqlresult $::mysqlink rows] ne 0} {
while {[set row [mysqlnext $::mysqlink]] != ""} {
set suspend [lindex $row 3]
set status [lindex $row 4]
if {$suspend!="ON"} {
incr nbadmin 1
if {$status=="ON"} {
incr nblog 1
set status "\2\0033YES\003\2"
putquick "NOTICE $nick :$status [lindex $row 0] [lindex $row 2] [lindex $row 5]"
} else {
set status "\2\0034NO\003\2"
putquick "NOTICE $nick :$status [lindex $row 0] [lindex $row 2]"
}
}
}
}
service:deconnect
putquick "NOTICE $nick :Il y a $nbadmin Admin enregistré dont $nblog en ligne"
}
Si vous exécutez la commande !admin vous verrez apparaître:
Code :
# Authed IDNick Level Nick
# NO Ahinu 4
PS: Ce tutoriel sera mis à jour très fréquemment