Mercurial > hg > egg-tcls
annotate laske.tcl @ 71:50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 11 Sep 2011 17:53:50 +0300 |
parents | 7b03971c6d28 |
children |
rev | line source |
---|---|
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
1 ########################################################################## |
0 | 2 # |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
3 # Calc v0.4 by ccr/TNSP <ccr@tnsp.org> |
9 | 4 # (C) Copyright 2008-2011 Tecnic Software productions (TNSP) |
0 | 5 # |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
6 # A simple calculator for Eggdrop. |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
7 # |
0 | 8 # This script is freely distributable under GNU GPL (version 2) license. |
9 # | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
10 ########################################################################## |
0 | 11 |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
12 # Error message for when no arguments given to the command |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
13 set calc_err_noargs "Laalis?" |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
14 set calc_preferredmsg "PRIVMSG" |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
15 |
0 | 16 |
17 | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
18 ########################################################################## |
0 | 19 # No need to look below this line |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
20 ########################################################################## |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
21 set calc_message "Laske v0.4 by ccr/TNSP" |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
22 #set calc_reps [split "\$|| ||^|**|pi|3.14159265|e|2.71828183" "|"] |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
23 set calc_reps [split "\$||\;||^|**|pi|3.141592653589793238|PI|3.141592653589793238|e|2.71828183" "|"] |
0 | 24 |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
25 putlog "$calc_message" |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
26 bind pub - !laske calc_pubmsg |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
27 bind msg - laske calc_msg |
0 | 28 |
29 | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
30 # ------------------------------------------------------------------------ |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
31 proc calc_smsg {udest umsg} { |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
32 global calc_preferredmsg |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
33 putserv "$calc_preferredmsg $udest :$umsg" |
0 | 34 } |
35 | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
36 # ------------------------------------------------------------------------ |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
37 proc calc_do {args} { |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
38 global calc_reps |
0 | 39 |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
40 # This is something rather perverse |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
41 set lasku [join [join [string map $calc_reps $args] ""] ""] |
0 | 42 |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
43 # Use 'expr' to calculate the result, but catch any exceptions / errors |
0 | 44 if {[catch { set res [expr $lasku] } errmsg]} { |
9 | 45 return $errmsg |
0 | 46 } else { |
9 | 47 return "$lasku = $res" |
0 | 48 } |
49 } | |
50 | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
51 # ------------------------------------------------------------------------ |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
52 proc calc_pubmsg {nick uhost hand chan args} { |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
53 global calc_err_noargs |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
54 |
0 | 55 if {$args == {} || $args == ""} { |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
56 calc_smsg $chan "$calc_err_noargs" |
63 | 57 return 1 |
0 | 58 } |
59 | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
60 set result [calc_do $args] |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
61 calc_smsg $chan "$nick, $result" |
0 | 62 return 1 |
63 } | |
64 | |
65 # ------------------------------------------------------------------------- | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
66 proc calc_msg {nick uhost hand args} { |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
67 global calc_err_noargs |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
68 |
0 | 69 if {$args == {} || $args == ""} { |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
70 calc_smsg $nick "$calc_err_noargs" |
63 | 71 return 1 |
0 | 72 } |
73 | |
71
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
74 set result [calc_do $args] |
50cbd24feadf
laske: Rename functions, add a bit of comments, cosmetics, etc.
Matti Hamalainen <ccr@tnsp.org>
parents:
63
diff
changeset
|
75 calc_smsg $nick "$result" |
0 | 76 return 1 |
77 } | |
78 | |
79 # ------------------------------------------------------------------------- |