Mercurial > hg > egg-tcls
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/laske.tcl Tue Sep 21 13:12:49 2010 +0300 @@ -0,0 +1,69 @@ +############################################################################ +# +# 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 +} + +# -------------------------------------------------------------------------