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
+}
+
+# -------------------------------------------------------------------------