Fun.tcl
#29
salut,

un petit script que j avais codé il y a quelques temps et qui simplifie grandement la création et la suppression d'une commande
Code :
namespace eval ::jokes {
    variable char !
    unset -nocomplain jokes
    variable jokes
    variable chans {#tcl #chti}
    array set jokes {
        bisous    "%1\$s fait un bisous à %2\$s"
        biere        "%1\$s offre une bière à %2\$s"
        clope        "%1\$s offre une clope à %2\$s"
    }
    proc init {} {
        variable chans
        variable jokes
        variable char
        if [string is space $chans] {set chans [channels]}
        foreach c $chans {
            bind pubm - "$c [set char]*" [namespace current]::send
        }
        set body {
            variable jokes \n
            variable char \n
            set bind [lindex [split [lindex $arg 0] [set char]] 1] \n
            set arg [lrange $arg 1 end] \n
            switch -nocase -glob -- $bind \{ \n
        }
        foreach j [array names jokes] {
            lappend body "$j \{putserv \"PRIVMSG \$chan :\[join \[format \$jokes($j) \$nick \$arg\]\]\"\} \n"
        }
        lappend body "\}"
        proc send {nick host hand chan arg} [join $body]
    }
    init
}
le script crée à la volée la procédure contenant les commandes.
l'avantage est de ne pas avoir a créer de procédures ou de bind, tout est automatisé.
de même lorsqu'on supprime une commande, un simple rehash suffi a prendre en compte les modifications.
en espérant que ça puisse vous servir
C'est en reconnaissant ses erreurs que l'on progresse Wink
Répondre Avertir


Messages dans ce sujet
Fun.tcl - par Aragorn - 28/06/2009, 18:53
RE: Fun.tcl - par heretoc - 28/06/2009, 19:01
RE: Fun.tcl - par Aragorn - 28/06/2009, 19:36
RE: Fun.tcl - par Aragorn - 28/06/2009, 20:45
RE: Fun.tcl - par heretoc - 29/06/2009, 00:12
RE: Fun.tcl - par fedora - 29/06/2009, 08:31
RE: Fun.tcl - par Artix - 29/06/2009, 10:28
RE: Fun.tcl - par Aragorn - 29/06/2009, 12:44
RE: Fun.tcl - par BdS - 29/06/2009, 12:50
RE: Fun.tcl - par Aragorn - 29/06/2009, 13:26
RE: Fun.tcl - par BdS - 29/06/2009, 13:38
RE: Fun.tcl - par Aragorn - 29/06/2009, 13:48
RE: Fun.tcl - par Aragorn - 29/06/2009, 16:19
RE: Fun.tcl - par CrazyCat - 29/06/2009, 21:41
RE: Fun.tcl - par Aragorn - 30/06/2009, 01:02
RE: Fun.tcl - par fedora - 30/06/2009, 08:39
RE: Fun.tcl - par Artix - 30/06/2009, 13:00
RE: Fun.tcl - par heretoc - 30/06/2009, 12:39
RE: Fun.tcl - par CrazyCat - 30/06/2009, 13:23
RE: Fun.tcl - par Aragorn - 01/07/2009, 11:00
RE: Fun.tcl - par heretoc - 01/07/2009, 11:18
RE: Fun.tcl - par Alucard`68 - 12/03/2012, 15:05
RE: Fun.tcl - par KiBa - 12/03/2012, 15:20
RE: Fun.tcl - par Alucard`68 - 12/03/2012, 15:30
RE: Fun.tcl - par CrazyCat - 12/03/2012, 15:43
RE: Fun.tcl - par KiBa - 12/03/2012, 15:45
RE: Fun.tcl - par CrazyCat - 12/03/2012, 22:50
RE: Fun.tcl - par cestlemien - 13/03/2012, 01:24
RE: Fun.tcl - par djkenny - 13/03/2012, 21:40

Atteindre :


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