Recherche d'un .tcl maître/esclave
#11
Bon, demande supplémentaire : le canal "cible" est protégé par un mot de passe :
TCL
namespace eval joiner {
 
   # Nom de l'eggdrop hub
   variable hub "toto"
   
   # Canal "pool"
   variable pool "#eggdrops"
   
   # Canal à nombre d'eggdrops fixe
   variable target "#target"

   # Mot de passe du canal cible
   variable tpass "lepassword"
   
   # Nombre d'eggdrops
   variable nbb 6
 
  bind part -  "$::joiner::target *" ::joiner::partchan
  bind sign -  "$::joiner::target *" ::joiner::partchan
 
  proc partchan {nick uhost handle chan {msg ""}} {
     if { [string tolower $::botnick] != [string tolower $::joiner::hub] } { return 0; }
     set nb [llength [chanlist $chan]]
     if { $nb < $::joiner::nbb } {
        ::joiner::invite [expr $::joiner::nbb - $nb]
     }
     return 0
  }
 
  proc invite { nb } {
     set pres [chanlist $::joiner::target]
     set pot [chanlist $::joiner::pool]
     foreach drop [split $pres] {
        set e [lsearch $pot $drop]
        set pot [lreplace $pot $e $e]
     }
     set inv 0
     while {$inv < $nb } {
        set bot [lindex $pot [rand [llength $pot]]]
        set e [lsearch $pot $bot]
        set pot [lreplace $pot $e $e]
        putbot $bot ">come"
        incr inv
     }
     return 0
  }
 
  bind bot - ">come" ::joiner::come
  proc come {frm_bot command arg} {
     if { [string tolower $frm_bot] != [string tolower $::joiner::hub] } { return 0; }
     channel add $::joiner::target
     if { $::joiner::pass != '' } {
        channel set $::joiner::target need-key { putquick "JOIN $::joiner::target $::joiner::tpass" }
     }
  }
 
  bind evnt - "init-server" ::joiner::init_server
  proc init_server {$type} {
     if {[string tolower $::botnick] == [string tolower $::joiner::hub]} { return 0;}
     if {[lsearch [channels] $::joiner::target]} {
        channel remove $::joiner::target
     }
  }
 
}


Une autre alternative proposée par MenzAgitat sur le canal, c'est de ne pas gérer le mot de passe et de mettre un "cs invite" sur le need-key.
A voir en fonction des possibilités du réseau, du canal, ...
Répondre


Messages dans ce sujet
RE: Recherche d'un .tcl maître/esclave - par CrazyCat - 06/07/2013, 14:29

Atteindre :


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