Communauté sur les Eggdrops - Community about Eggdrops
pseudo dans un db - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (https://forum.eggdrop.fr)
+-- Forum: Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum: Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Thread: pseudo dans un db (/showthread.php?tid=533)

Pages: 1 2 3


RE: pseudo dans un db - fedora - 21/02/2010

merci CrazyCat de ta réponse alors j'ai ajouter comme ceci :


tcl
bind  join - "#Salon *" SalonDeVip
proc SalonDeVip {nick host hand chan} {
global UserDb
set UserDb [open UserVip.db r]
while {![eof $UserDb]} {
set get [gets $UserDb]
close $UserDb
if {[string first [string tolower $get]  [string tolower $nick]] != -1} {
  pushmode $chan +o $nick
  return 1
  }
close $UserDb
return 0
}
}


est lors du joins j'ai cette erreur :

tcl
Tcl error [SalonDeVip]: can not find channel named "file8"


je précise que je test avec une data-base avec 50 pseudo dedans.

merci de votre aide
Cordialement


RE: pseudo dans un db - CrazyCat - 21/02/2010

CrazyCat Wrote:Et j'ajouterais un close $UserDb avant le return 1, par précaution.

fedora Wrote:
tcl
set get [gets $UserDb]
close $UserDb
if {[string first [string tolower $get]  [string tolower $nick]] != -1} {
  pushmode $chan +o $nick
  return 1
  }
close $UserDb

Tu n'as pas l'impression de t'être planté quelque part ?


RE: pseudo dans un db - fedora - 21/02/2010

erff oui en effet


tcl
set get [gets $UserDb]
if {[string first [string tolower $get]  [string tolower $nick]] != -1} {
  pushmode $chan +o $nick
close $UserDb
  return 1
  }


il op toujours tous le monde. je sent c'est un truc qui rend complètement singler


RE: pseudo dans un db - CrazyCat - 21/02/2010

Et si tu faisais:

tcl
putlog "Found [string tolower $get] in [string tolower $nick] at index [string first [string tolower $get] [string tolower $nick]]"

avant ton pushmode ?
Ca doit aider à trouver le souci


RE: pseudo dans un db - fedora - 21/02/2010

oui je vais essayer en tout cas ce me retourne

tcl
Found biloutte in biloutte at index 0




RE: pseudo dans un db - CrazyCat - 21/02/2010

Ben oui, ça me semble logique, donc biloutte doit avoir le +v.
Montre nous plutôt le cas où quelqu'un est voicé alors qu'il ne devrait pas, vu que c'est ça le bug.


RE: pseudo dans un db - fedora - 21/02/2010

bah biloutte n'est pas dans la liste il ne devrais pas être op lors du joins
Quote:|16:37:23| <fedora> .-vip biloutte
|16:37:23| <bOt> billoutte n'est pas dans la liste.
Quote:|16:37:38| » biloutte |biloutte@4545332575.fr| à rejøint lë Saløn #Salon .|3|
-Møde- bOt mët +o biloutte

des codes comme ça. y a de quoi être fou lol


RE: pseudo dans un db - CrazyCat - 22/02/2010

Es-tu sûr du contenu de ton .db ?
Et je ne pense pas que tu fasses ton debug sérieusement ou logiquement. Et on ne peut pas le faire pour toi. Mets donc des affichages dans ton log, de tout s'il le faut.

Proverbe japonais : machine toujours raison


RE: pseudo dans un db - fedora - 22/02/2010

alors voila,

En fait j'ai repris mon code depuis le départ et j'ai changer :

tcl
if {![string compare[string tolower $get] [string tolower $nick]]} {


par

tcl
if {![string first [string tolower $get] [string tolower $nick]]} {


est j'ai plus de souci :o j'ai tester la database avec une liste de 150 pseudo et tous fonctionne que ce soit avec les extensions de pseudo ou bien les caractère spéciaux,le bot exécute bien ce que je lui demande si le pseudo et dans la liste ou si il ne l'est pas :) merci CrazyCat pour ton aide et le temps que tu à prit pour m'aider :)

Cordialement