Mercurial > hg > egg-tcls
view laske.tcl @ 0:1c4e2814cd41
Initial import.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 21 Sep 2010 13:12:49 +0300 |
parents | |
children | 47c73165754b |
line wrap: on
line source
############################################################################ # # Laske v0.2 by ccr/TNSP <ccr@tnsp.org> # (C) Copyright 2008 Tecnic Software productions (TNSP) # # This script is freely distributable under GNU GPL (version 2) license. # ############################################################################ set laske_preferredmsg "PRIVMSG" ############################################################################ # No need to look below this line ############################################################################ set laske_message "Laske v0.2 by ccr/TNSP" set laske_reps [split "\$|| ||^|**|pi|3.14159265|e|2.71828183" "|"] putlog "$laske_message" bind pub - !laske laske_pubmsg bind msg - laske laske_msg # ------------------------------------------------------------------------- proc laske_smsg {udest umsg} { global laske_preferredmsg putserv "$laske_preferredmsg $udest :$umsg" } # ------------------------------------------------------------------------- proc laske_do {args} { global laske_reps # Tama on jotain ihan uskomattoman perverssia set lasku [join [join [string map $laske_reps $args] ""] ""] # putlog "Laske: $args :: $lasku" if {[catch { set res [expr $lasku] } errmsg]} { return $errmsg } else { return "$lasku = $res" } } # ------------------------------------------------------------------------- proc laske_pubmsg {nick uhost hand chan args} { if {$args == {} || $args == ""} { laske_smsg $chan "Laa laalis paski." return 1 } set result [laske_do $args] laske_smsg $chan "$nick, $result" return 1 } # ------------------------------------------------------------------------- proc laske_msg {nick uhost hand args} { if {$args == {} || $args == ""} { laske_smsg $nick "Laa laalis paski." return 1 } set result [laske_do $args] laske_smsg $nick "$result" return 1 } # -------------------------------------------------------------------------