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


[Script] Gestion de temps de parole
#1
Bonsoir,

On m'a demandé s'il était possible de faire un script qui donne la parole (un voice) à des utilisateurs en suivant une file d'attente (l'ordre dans lequel les utilisateurs demandent à parler) avec un temps de parole limité pour chaque fois.

J'ai donc produit ceci, je ne l'ai pas testé mais il ne doit pas y avoir trop d'erreurs.

A tester et commenter :)

tcl
# Durée du voice en minutes
set duration 5
# Canal visé
set vchan "#voice"
# Commande à utiliser en privé
bind msg - "!voiceme" voice:adqueue
 
 
set voiceq {}
set voiced ""
set voicec 0
 
# Procédure principale : ajout dans la file d'attente
proc voice:adqueue {nick uhost handle args} {
    if {($nick == $::voiced) || ([lsearch -exact $::voiceq $nick] >= 0))} {
        putserv "PRIVMSG $nick :Tu es déjà dans la file"
        return 0
    }
    lappend ::voiceq $nick
    voice:checknext
}
 
# Procédure très importante : choix du nouveau voicé
proc voice:checknext {} {
    if {$::voiced == "" && [llength $::voiceq] > 0} {
        set ::voiced [lindex $::voiceq 0]
        set delay ($::duration * 60000)
        set ::voicec [after $delay voice:del]
        set ::voiceq [lrange $::voiceq 1 end]
        pushmode $::vchan +v $::voiced
    }
}
 
# Arrêt du voice
proc voice:del {} {
    pushmode $::vchan -v $::voiced
    set ::voiced ""
    voice:checknext
}
 
# Gestion de la déconnexion
bind part - $::vchan voice:part
bind sign - $::vchan voice:part
proc voice:part {nick uhost handle chan msg} {
    if {$::voiced == $nick} {
        after cancel $::voicec
        set ::voiced ""
        voice::checknext
    }
}

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away


Messages In This Thread
[Script] Gestion de temps de parole - by CrazyCat - 05/06/2011, 23:02

Possibly Related Threads…
Thread Author Replies Views Last Post
  Gestion.Bot v3 Beta. aliasangelius 10 7,102 20/08/2013, 21:52
Last Post: aliasangelius

Forum Jump:


Users browsing this thread: 1 Guest(s)