Mercurial > hg > egg-tcls
view calc.tcl @ 692:c262cef9dc54
urllog: Adjust commented out code.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 22 Jun 2023 15:47:45 +0300 |
parents | 92aefade4466 |
children | abd05400481d |
line wrap: on
line source
########################################################################## # # Calc v0.4 by Matti 'ccr' Hamalainen <ccr@tnsp.org> # (C) Copyright 2008-2021 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_cmd_pub bind msg - !laske calc_cmd_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_cmd_pub {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_cmd_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 } # -------------------------------------------------------------------------