Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


TCL Auto-sajoin fonctionne partiellement.
#1
J'avais besoin d'un TCL pour l'autosajoin des anims aux salons staff, donc j'ai pris celui que blacknight avait posté sur le forum, j'ai essayé de le modifier pour le débug, y'a que la 1ère partie qui fonctionne correctement "!addsaj pseudo #salon", le reste déconne....
Je voudrais qu'il liste les pseudos ajoutés avec leurs salons d'autosaj en utilisant la commande !listsaj, et qu'il retire les sajs du nick en tapant !delsaj nick
J'espère que vous pourriez m'aider afin de le corriger. Merci d'avance.


Code:
set vhostkill {
   *@NetAdmin.*****.org
   *@TechAdmin.*****.org
   *@ChanAdmin.*****.org
   *@ChefZone.*****.org
   *@Chanop.*****.org
   *@CoChefZone.*****.org
}

set vhostplus {
   *@NetAdmin.*****.org
   *@TechAdmin.*****.org
   *@ChanAdmin.*****.org
   *@ChefZone.*****.org
   *@Chanop.*****.org
   *@CoChefZone.*****.org

}


set salonstaff {
"#Staff"
"#Staff+"
"#Bureau"
"#Control"
"#Bravo"
"#Tango"
"#plaintes"
}

bind pub - !addsaj add_saj
bind pub - !delsaj del_saj
bind pub - !listsaj list_saj
bind join - "*" auto_saj


# configuration NE PAS EDITER
set sajdb "sajoin.txt"
set sajuse ""



# Les Procs

proc add_saj {nick host hand chan text} {
global vhostkill sajdb sajuse
foreach vhostaddautosaj $vhostkill {
  if [string match -nocase $vhostaddautosaj $host]  {
set victim [lindex $text 0]
set vchan [split $text 1]
set sajt [del_sajuse $nick]
set sajuse "[lrange $sajuse 0 end] $victim $vchan"
set f [open "$sajdb" "a"]
puts $f "$sajuse"
close $f
putquick "PRIVMSG $chan : \002\00303OK.\002\00312 AutoJoin vers $vchan ajouté pour $victim.\003"
}
}
}


proc del_saj {nick host hand chan text} {
global vhostkill sajdb sajuse
foreach vhostdelautosaj $vhostkill {
  if [string match -nocase $vhostdelautosaj $host]  {
set sajuse [del_sajuse [lindex $text 0]]
set f [open "$sajdb" "a"]
puts $f "$sajuse"
close $f
putquick "PRIVMSG $chan : \002\00303OK.\002\00312 [lindex $text 0] n'a plus d'AutoJoin.\003"
}
}
}

proc list_saj {nick host hand chan text} {
global vhostkill sajdb sajuse
foreach vhostshowautosaj $vhostkill {
  if [string match -nocase $vhostshowautosaj $host]  {
set saju [llength $sajuse]
set listsaj ""
set i "0"
putquick "PRIVMSG $chan :\002\00306L\002\00312iste \002D\002es \002\00304A\002uto-\002J\002oin \:"
while { $i <= $saju } {
set saj [lindex $sajuse $i]
set saj [split $saj "@"]
set sajn [lindex $saj 0]
set sajc [lindex $saj 1]
if { $sajn != "" } {
set listsaj "[lrange $listsaj 0 end] \00304$sajn \00312(\00303$sajc\00312), "
}
if { [llength $listsaj] >= "6" } {
putquick "PRIVMSG $chan :$listsaj"
set listsaj ""
}
incr i
}
if { $listsaj != "" } {
putquick "PRIVMSG $chan :$listsaj"
set listsaj ""
}
putquick "PRIVMSG $chan :\002\00306F\002\00312in \002D\002e \002L\002a \002L\002iste."
return
}
}
}

proc del_sajuse { nick } {
global sajuse
set saju [llength $sajuse]
set listsaj ""
set sajx "0"
set i "0"
while { $i <= $saju } {
set sajc [lindex $sajuse $i]
set sajt [split $sajc "@"]
set sajy [lindex $sajt 0]
if {![string match -nocase $nick $sajy]} {
set listsaj "[lrange $listsaj 0 end] $sajc"
} else { set sajx 1 }
incr i
}
return $listsaj
}

proc auto_saj {nick host hand chan} {
global sajuse
set saju [llength $sajuse]
set listsaj ""
set i "0"
while { $i <= $saju } {
set saj [lindex $sajuse $i]
set saj [split $saj "@"]
set sajn [lindex $saj 0]
set sajc [lindex $saj 1]
if {[string match -nocase $nick $sajn]} {
set ::timernick $nick
set ::timerchan $sajc
utimer 5 {
putquick "SAJOIN $::timernick $::timerchan"
set ::timernick ""
set ::timerchan ""
}
}
incr i
}
return
}
#2
Bonjour,

as-tu une erreur en pl ou autre ?
#3
Bonjour alias_angelius,

Non, je n'ai pas de message d'erreur en party-line, mais le soucis c'est que quand j'ajoute un pseudo pour que le bot l'autosaj à un salon précis, le bot ne saj pas le nick vers le salon en question, de plus quand je fais !listsaj pour consulter la liste des nicks ajoutés dans l'autosaj après un rehash, je n'ai rien comme si la liste est vide.
Avec la commande !delsaj nick pour retirer l'autosaj d'un nick, le bot l'a prenne en considération même si je ne précise pas le nick, je sais pas ce qu'il va virer lol.

Code:
.[16:50:28] <~Ryan> !addsaj Ryan #aide
.[16:50:28] <Aristide>  OK. AutoJoin vers {Ryan #aide} ajouté pour Ryan .
.[16:50:34] <~Ryan> Listsaj
.[16:50:42] <~Ryan> !listsaj
.[16:50:42] <Aristide> Liste Des Auto-Join :
.[16:50:42] <Aristide> Ryan (), Ryan #aide (),
.[16:50:42] <Aristide> Fin De La Liste.
.[16:50:59] <~Ryan> !delsaj Ryan
.[16:50:59] <Aristide>  OK. Ryan n'a plus d'AutoJoin.
.[16:51:17] <~Ryan> !listsaj
.[16:51:17] <Aristide> Liste Des Auto-Join :
.[16:51:17] <Aristide> Ryan (), #aide (),
.[16:51:17] <Aristide> Fin De La Liste.
#4
si tu fait !delsaj Ryan #aide
sa donne ?
#5
Déjà on voit des erreurs sur les arguments (OK. AutoJoin vers {Ryan #aide} ajouté pour Ryan .)
Je regarde ça tranquillement.
zeolia: tchat gratuit, sans inscription ni publicité
Merci de ne pas demander d'aide en MP
Away
#6
salut,

voila le tcl corrigé

utilisation:
!addsaj pseudo #salon
!delsaj pseudo #salon
!listsaj ?#salon?

sajoin.tcl
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#7
Bonjour tout le monde !

@djkenny: Merci pour le temps que tu as consacré afin de corriger ce TCL, c'est vraiment sympa de ta part, mais juste une chose j'ai mis le TCL corrigé et puis le bot ne réagis à aucune action. Je n'ai aucune erreur en party-line.
#8
es tu sûr de l'avoir correctement chargé?
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#9
Bonjour djkenny :)

Oui, je l'ai correctement chargé, et je n'ai pas un message d'erreur lors du démarrage. Est ce normale cela ?
#10
as tu le bon host?

tcl
	variable vhostkill {
		*@NetAdmin.*****.org
		*@TechAdmin.*****.org
		*@ChanAdmin.*****.org
		*@ChefZone.*****.org
		*@Chanop.*****.org
		*@CoChefZone.*****.org
	}
 
.....
 
if {[lsearch -nocase $vhostkill $host]==-1} return
....

C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#11
salut :)

question conne peut etre mais je la pose . le bot a-il les flags adequat ?

Cordialement.
#12
Oui djkenny ma vHost est bien activée, NetAdmin.*****.org
#13
Bonjour cestlemien

Oui, le bot a bien une O-line (IrcOp)
#14
Au moins, il devait répondre au requête !addsaj Nick #salon, mais là il n'est même pas synchro avec mes commandes
#15
si tu n'as pas un des hosts configuré dans la variable, le bot ne répondra à rien du tout
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Résolu] Youtube tcl (Zurl.tcl) ne fonctionne plus Krypte 23 14,595 28/04/2017, 18:22
Last Post: Alucard`68
Sad [Résolu] Aucune commande ne fonctionne Alucard`68 4 4,017 25/08/2016, 18:28
Last Post: Alucard`68
  Soucis avec un tcl de sajoin KeeViiNou 15 11,439 14/03/2014, 10:51
Last Post: KeeViiNou
Sad Problème sajoin sur un salon. Alucard`68 1 3,953 22/04/2012, 16:58
Last Post: CrazyCat
  Sajoin automatique - Probleme de pseudonyme heretoc 3 4,110 01/06/2010, 15:50
Last Post: heretoc
  Sajoin automatique avec une database heretoc 5 4,455 07/05/2010, 22:51
Last Post: heretoc
  Sajoin Par Vhost Babytigrou16 10 7,525 25/06/2009, 17:41
Last Post: BlackNight
  SAJOIN: pas bien CrazyCat 0 3,805 30/10/2008, 17:52
Last Post: CrazyCat
  msg.tcl , il fonctionne mais dans un seul chan kanotix 5 5,609 06/06/2008, 14:20
Last Post: N3bIlIm

Forum Jump:


Users browsing this thread: 1 Guest(s)