Messages : 11
Sujets : 4
Inscription : Feb 2007
Niveau d’avertissement :
0%
Salut à tous !
J'ai un projet que je n'arrive pas à mettre en place.
J'ai un serveur Unrealircd et un eggdrop sur un serveur.
Sur un autre, j'ai un forum phpbb.
Sur mon serveur irc, j'ai bloqué l'accès aux utlisateurs non enregistrés aupres de Anope.
J'ai désactivé cette fonction sur un chan. Mon eeggdrop se trouve sur ce channel.
De l'autre coté, sur mon forum, j'ai créé une page php qui liste tous les users de mon forum.
Je voudrais que mon Eggdrop, lors d'un join, liste les utilisateurs de mon forum (grace à la page php créée), qu'il compare avec celle d'Anope et que si l'utilisateur pénétrant sur le chan n'est pas présent dans les membres du forum, soit kicker et supprimer du fichier user de Anope.
Je remercie toute personne qui voudront bien me donner un coup de pouce
Merci d'avance
Messages : 2,337
Sujets : 191
Inscription : Apr 2004
heu oui mais non.
Cela impliquerait que ton eggdrop soit IRCop, et c'est très déconseillé.
Mais au cas où, le moyen le plus simple est d'envoyer un message à nickserv: "info nick" et de récupérer la chaine "nick n'est pas enregistré".
En l'absence de cette réponse, tu ne fais rien, si tu as cette réponse, tu ban 1h.
Danger: risque de flood, le lag peut géner...
Messages : 11
Sujets : 4
Inscription : Feb 2007
Niveau d’avertissement :
0%
Salut et merci pour ta reponse.
Le fait que l'Eggdrop soit IRCOP ne pose pas probleme. Il a les droits minimums que je lui ai configurés sur le serveur.
Pour ta reponse, a ne concorde pas.
Si la personne arrive à penetrer sur ce chan ou un autre, c'est bien qu'elle a été enregistré aupres de nickserv.
Ca ne comparera en rien avec ma base de données des membres du forum !
;)
Messages : 2,337
Sujets : 191
Inscription : Apr 2004
trotinet a écrit :J'ai désactivé cette fonction sur un chan. Mon eeggdrop se trouve sur ce channel.
De l'autre coté, sur mon forum, j'ai créé une page php qui liste tous les users de mon forum.
Tu disais bien que sur ce canal, les gens non-enregistrés pouvaient entrer.
Quoi qu'il en soit, le plus simple à mon avis est donc de faire une page simplifiée sur ton forum à laquelle tu passes l'argument "nick" et qui va te renvoyer "true" ou "false" selon que le nick est celui d'un membre de ton forum ou pas.
avec le package http.tcl, ça devrait faire quelque chose de relativement simple:
Code :
package require http
set forum "http://www.tonforum.com/page.php?user="
bind join - #canal test:user
proc test:user {nick uhost handle chan} {
if {$nick == $::botnick} { return 0}
set search [concat $::forum $nick]
set key [http::geturl $::search]
if {[http::data $key] == "true"} {
return 0
}
putserv "KICK $chan $nick :Not allowed member"
}
Tu noteras que je fais un fonctionnement restrictif, c'est à dire que je ne kick pas si celui qui entre est le robot ou un membre du forum, mais je kick dans tous les autres cas, c'est à dire si le forum renvoit autre chose que "true".
Messages : 2,337
Sujets : 191
Inscription : Apr 2004
Je pense que ton erreur est le mysqlenquery.
Code :
set bb(query) [mysqlquery $bb(connect) "SELECT * FROM $bb(prefix)users u JOIN $bb(prefix)user_group ug ON u.user_id = ug.user_id WHERE ug.group_id = 40 AND u.username='$nick'"]
mysqlendquery $bb(query)
if {[mysqlresult $bb(connect) rows] == 0} {puthelp "NOTICE $nick :Vous devez vous identifier"}
mysqlendquery sert à vider les résultats (équivalent du mysql_free_result en php), il doit donc être à la fin de ton script, ou plutôt
après avoir exploité ton résultat.
Messages : 3
Sujets : 1
Inscription : Aug 2007
Niveau d’avertissement :
0%
bonjour, y a moyen d'avoir la source entier sens bug ? svp