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


[Demande] Soucis sur bind mode
#1
Bonjour,

Voilà, j'ai repris le code de Fedora, pour faire un système de auth avec un op sur un IriX.
Donc le code fonctionne lorsqu'il doit se auth, et se op sans soucis.

Le problème et lors du bind mode.
Je m'explique..

Si je deop le bot, il va exécuté la commande de ré-op deux fois dessuite.
Pareil si je me deop moi même, il va se ré-op alors que je ne l'ai pas fait..

Exemple :

Quote:.[11:18:24] [DéOp] Tu viens de déoper Talk-Me.
.[11:18:24] [Op] IriX vient d'oper (mode +o) Talk-Me.
.[11:18:26] [Voice] IriX vient de voicer (mode +v) Talk-Me.
.[11:18:27] [DéOp] Tu viens de te faire déoper par IriX.
.[11:18:27] [Op] IriX vient d'oper (mode +o) Talk-Me.
.[11:18:35] [Voice] IriX vient de voicer (mode +v) Talk-Me.

Lorsque je me deop.. :

Quote:.[11:19:23] [DéOp] Tu viens de te déoper.
.[11:19:23] [Op] IriX vient d'oper (mode +o) Talk-Me.
.[11:19:24] [Voice] IriX vient de voicer (mode +v) Talk-Me.
.[11:19:24] [DéOp] Tu viens de te faire déoper par IriX.
.[11:19:25] [Op] IriX vient d'oper (mode +o) Talk-Me.
.[11:19:28] [Voice] IriX vient de voicer (mode +v) Talk-Me.

Donc j'ai tester des ligne du genre $nick == $botnick, ou botisop.. Mais rien ne fonctionne, ou alors j'ai mal interprêter une variable ou autre.
Voici le code :


tcl
namespace eval ::Opirix {
 
    setudef flag SalonOp
 
    set IriXPseudo "IriX"
    set IriXsal "#informatique"
    set IriXpass "passsdeouf"
 
    bind join - "*" [namespace current]::autoop
    proc autoop { nick uhost hand chan args} {
        if {$nick != $::botnick} {
            return 0
        }
        set idt [lsearch $::Opirix::IriXsal [string tolower $chan]]
        if { $idt eq -1 } {
            return 0
        } else {
            putspeed "PRIVMSG [lindex $::Opirix::IriXPseudo $idt] :auth $::Opirix::IriXsal $::botnick $::Opirix::IriXpass"
            putserv "PRIVMSG [lindex $::Opirix::IriXPseudo $idt] :op $::Opirix::IriXsal $::botnick"
            putserv "PRIVMSG [lindex $::Opirix::IriXPseudo $idt] :voice $::Opirix::IriXsal $::botnick"
        }
    }
 
    proc ::Opirix::whoisIriX {chan} {
        set nicks [chanlist $chan]
        return [string tolower [lsearch -nocase -inline $nicks IriX*]]
    }
 
    proc putspeed {arg} {
   putquick "$arg"
    }
 
    bind mode - *-o* [namespace current]::ReOp
    proc ReOp {nick host hand chan args} {
        set bot [::Opirix::whoisIriX $chan]
        if {($bot ne "") && [channel get $chan SalonOp]} {
            putquick "PRIVMSG $bot :op $::Opirix::IriXsal $::botnick"
            putserv "PRIVMSG $bot :voice $::Opirix::IriXsal $::botnick"
            putserv "PRIVMSG $bot :deop $::Opirix::IriXsal $nick"
            } else {
                putlog "\002\00304\[Refuser\]\002\00314 Je ne suis pas activé sur $chan"
            return 0
            }
    }
 
    #bind time -|- {* * * * *} [namespace current]::VervifbOt
    #proc VervifbOt {min hour args} {
     #   foreach chan [channels] {
      #      if {[channel get $chan SalonOp]} {
       #         set bot [::Opirix::whoisIriX $chan]
        #        if {$bot ne ""} {
         #           putquick "PRIVMSG $bot :op $::Opirix::IriXsal $::botnick"
          #          putserv "PRIVMSG $bot :voice $::Opirix::IriXsal $::botnick"
           #         return 0
            #    }
           # }
       # }
   # }
}


Si vous avez des pistes vers ou ça peut venir.., même m'aider à me mettre vers la vois je suis preneur.
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll


Messages In This Thread
Soucis sur bind mode - by aliasangelius - 21/01/2017, 12:24
RE: Soucis sur bind mode - by CrazyCat - 21/01/2017, 12:43
RE: Soucis sur bind mode - by aliasangelius - 21/01/2017, 12:48
RE: Soucis sur bind mode - by CrazyCat - 21/01/2017, 13:39
RE: Soucis sur bind mode - by aliasangelius - 21/01/2017, 14:07
RE: Soucis sur bind mode - by CrazyCat - 21/01/2017, 14:40
RE: Soucis sur bind mode - by aliasangelius - 21/01/2017, 14:58
RE: Soucis sur bind mode - by CrazyCat - 21/01/2017, 15:04
RE: Soucis sur bind mode - by aliasangelius - 21/01/2017, 17:19
RE: Soucis sur bind mode - by CrazyCat - 21/01/2017, 17:34
RE: Soucis sur bind mode - by aliasangelius - 21/01/2017, 17:54
RE: Soucis sur bind mode - by CrazyCat - 21/01/2017, 18:19
RE: Soucis sur bind mode - by aliasangelius - 21/01/2017, 18:24

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Résolu] bug sur un bind mode Alucard`68 9 4,592 01/02/2017, 15:18
Last Post: Alucard`68
  soucis sur un bind join. aliasangelius 18 8,952 23/10/2011, 13:16
Last Post: CrazyCat
  Soucis tcl - bind join Meribre 4 4,840 23/03/2010, 11:55
Last Post: heretoc
  Problème avec un script TCL (bind mode) Lyokomaster 3 4,371 15/03/2009, 18:05
Last Post: Merwin

Forum Jump:


Users browsing this thread: 1 Guest(s)