[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 :

Citation :.[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.. :

Citation :.[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
Répondre Avertir


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

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté