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
}
  Répondre   Avertir
#2
Bonjour,

as-tu une erreur en pl ou autre ?
  Répondre   Avertir
#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.
  Répondre   Avertir
#4
si tu fait !delsaj Ryan #aide
sa donne ?
  Répondre   Avertir
#5
Déjà on voit des erreurs sur les arguments (OK. AutoJoin vers {Ryan #aide} ajouté pour Ryan .)
Je regarde ça tranquillement.
  Répondre   Avertir
#6
salut,

voila le tcl corrigé

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

sajoin.tcl
Absent
  Répondre   Avertir
#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.
  Répondre   Avertir
#8
es tu sûr de l'avoir correctement chargé?
Absent
  Répondre   Avertir
#9
Bonjour djkenny Smile

Oui, je l'ai correctement chargé, et je n'ai pas un message d'erreur lors du démarrage. Est ce normale cela ?
  Répondre   Avertir
#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
....


Absent
  Répondre   Avertir
#11
salut Smile

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

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

Oui, le bot a bien une O-line (IrcOp)
  Répondre   Avertir
#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
  Répondre   Avertir
#15
si tu n'as pas un des hosts configuré dans la variable, le bot ne répondra à rien du tout
Absent
  Répondre   Avertir


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Résolu] Youtube tcl (Zurl.tcl) ne fonctionne plus Krypte 23 8,239 28/04/2017, 18:22
Dernier message: Alucard`68
Sad [Résolu] Aucune commande ne fonctionne Alucard`68 4 1,978 25/08/2016, 18:28
Dernier message: Alucard`68
  Soucis avec un tcl de sajoin KeeViiNou 15 6,949 14/03/2014, 10:51
Dernier message: KeeViiNou
Sad Problème sajoin sur un salon. Alucard`68 1 2,240 22/04/2012, 16:58
Dernier message: CrazyCat
  Sajoin automatique - Probleme de pseudonyme heretoc 3 2,167 01/06/2010, 15:50
Dernier message: heretoc
  Sajoin automatique avec une database heretoc 5 2,698 07/05/2010, 22:51
Dernier message: heretoc
  Sajoin Par Vhost Babytigrou16 10 4,937 25/06/2009, 17:41
Dernier message: BlackNight
  SAJOIN: pas bien CrazyCat 0 2,486 30/10/2008, 17:52
Dernier message: CrazyCat
  msg.tcl , il fonctionne mais dans un seul chan kanotix 5 3,665 06/06/2008, 14:20
Dernier message: N3bIlIm

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)