Mercurial > hg > egg-tcls
view calc.tcl @ 467:b29b0db02649
utillib: Add unicode hyphen conversion to ascii.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 09 May 2018 20:04:44 +0300 |
parents | 825cac46b1cb |
children | b45fc205f425 |
line wrap: on
line source
########################################################################## # # Calc v0.4 by Matti 'ccr' Hamalainen <ccr@tnsp.org> # (C) Copyright 2008-2011 Tecnic Software productions (TNSP) # # A simple calculator for Eggdrop. # # This script is freely distributable under GNU GPL (version 2) license. # ########################################################################## # Error message for when no arguments given to the command set calc_err_noargs "Laalis?" set calc_preferredmsg "PRIVMSG" ########################################################################## # No need to look below this line ########################################################################## set calc_message "Calc v0.4 by ccr/TNSP" putlog "$calc_message" bind pub - !laske calc_pubmsg bind msg - !laske calc_msg # ------------------------------------------------------------------------ proc calc_smsg {udest umsg} { global calc_preferredmsg putserv "$calc_preferredmsg $udest :$umsg" } # ------------------------------------------------------------------------ proc calc_do {args} { # This is something rather perverse set equ [join [join $args ""] ""] # Use external binary to calculate the result, but catch any exceptions / errors if {[catch {set res [exec -- "/usr/local/bin/mfcalc" "$equ"]} uerrmsg]} { return $uerrmsg } else { return "$res" } } # ------------------------------------------------------------------------ proc calc_pubmsg {nick uhost hand chan args} { global calc_err_noargs if {$args == {} || $args == ""} { calc_smsg $chan "$calc_err_noargs" return 1 } set result [calc_do $args] calc_smsg $chan "$nick, $result" return 1 } # ------------------------------------------------------------------------- proc calc_msg {nick uhost hand args} { global calc_err_noargs if {$args == {} || $args == ""} { calc_smsg $nick "$calc_err_noargs" return 1 } set result [calc_do $args] calc_smsg $nick "$result" return 1 } # -------------------------------------------------------------------------