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
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
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
}
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