Mercurial > hg > egg-tcls
view tj.tcl @ 80:3eb07f55bf86
calc: Rename a variable (finnish vs. english)
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 11 Sep 2011 18:37:10 +0300 |
parents | 15fc72bc3f3e |
children | d9de3870b72e |
line wrap: on
line source
########################################################################## # # TJ (Army Mornings Left-counter) v0.60 by ccr/TNSP # (C) Copyright 2000,2009,2011 Tecnic Software productions (TNSP) # Send comments and shit via e-mail: <ccr@tnsp.org> # # This script is freely distributable under GNU GPL (version 2) license. # # Laskee aamuja tiettyyn paivamaaraan. TJ-paivamaara annettava # tietenkin etta toimii, oletuksena skripti asettaa (uudelle kayttajalle) # sen hetkisen ajan + 180 aamua. Esimerkkeja kaytosta: # !tj [nick] # /msg TheBot tj [nick] # # Ja TJ:n asetus toimii nain: # !tjaamut <[-]aamujen lkm tasta hetkesta laskien> [+/- tunnit] # !tjset dd.mm.yyyy hh:mm # ########################################################################## # Default starting TJ set tj_defstarttj 180 ########################################################################## # No need to look below this line ########################################################################## set tj_message "TJ (SA-INT model) v0.65 by ccr/TNSP" set tj_dateident "tjdate" set tj_preferredmsg "PRIVMSG" putlog "$tj_message" bind pub - !tj tj_pubmsg bind pub - !tjaamut tj_pubaamut bind pub - !tjset tj_pubset # ------------------------------------------------------------------------ proc tj_correctnickcase { jnick } { if {![validuser $jnick]} { return "" } set nicklwr [string tolower $jnick] foreach juser [userlist] { if {[string tolower $juser] == $nicklwr} { unset nicklwr return "$juser" } } return "" } # ------------------------------------------------------------------------ proc tj_smsg {udest umsg} { global tj_preferredmsg putserv "$tj_preferredmsg $udest :$umsg" } # ------------------------------------------------------------------------ proc tj_pubmsg {nick uhost hand chan args} { set args [string trim [join $args ""]] if {$args == ""} { set args $hand } tj_smsg $chan [tj_gettj $args $chan] return 1 } # ------------------------------------------------------------------------ proc tj_ctime { utime } { return [clock format $utime -format "%d.%m.%Y %H:%M"] } # ------------------------------------------------------------------------ proc tj_pubaamut {unick uhost uhand uchan uargs} { set foo [split $uargs " "] set tjdays [lindex $foo 0] set tjhours [lindex $foo 1] if {$tjdays == ""} { tj_smsg $uchan "Hälärm." return 1 } if {$tjhours == ""} { set tjhours 0 } set udate [expr [unixtime] + ($tjdays * 86400) + ($tjhours * 3600)] tj_smsg $uchan [tj_settj $uhand $unick $udate] return 1 } # ------------------------------------------------------------------------ proc tj_pubset {unick uhost uhand uchan uargs} { set udate [clock scan $uargs -format "%d.%N.%Y %H:%M"] tj_smsg $uchan [tj_settj $uhand $unick $udate] return 1 } # ------------------------------------------------------------------------ proc tj_settj { uuser unick udate } { global tj_dateident if {![validuser $uuser]} { return "Tuntematon käyttäjä $uuser." } setuser $uuser XTRA $tj_dateident $udate return "$unick:n ($uuser) TJ asetettu. ([tj_ctime $udate])" } # ------------------------------------------------------------------------ proc tj_gettj {ihandle ichan} { global tj_defstarttj global tj_dateident # Tarkistetaan onko kayttaja OK if {![validuser $ihandle]} { if {$ichan == ""} { return "$ihandle, Mene pois." } else { if {$ihandle == "*"} { return "En tiedä kuka olet, mene pois." } else { return "En tiedä kuka $ihandle on." } } } set chandle [tj_correctnickcase $ihandle] # Haetaan TJ aloitus paivamaara set tjpaiva [getuser $chandle XTRA $tj_dateident] if {$tjpaiva == ""} { return "$chandle ei ole asettanut itselleen TJ päivämäärää." } # Lasketaan tamanhetkinen TJ aika set deltatj [expr $tjpaiva - [unixtime]] if {$deltatj < 0} { set tmp [expr [unixtime] - $tjpaiva] } else { set tmp $deltatj } # Lasketaan TJ aamut, tunnit jne set aamut [expr ($tmp / 86400)] set tunnit [expr (($tmp % 86400) / 3600)] # Maaritetaan sanalause if {$ichan != ""} { set tjmt "$chandle:lla on" set tjmi "$chandle on" } else { set tjmt "Sinulla on" set tjmi "Sinä olet" } if {$aamut > 0} { set lause "$aamut aamua" } else { set lause "" } if {$tunnit > 0} { if {$aamut > 0} { set lause "$lause ja" } set lause "$lause $tunnit tuntia" } if {$aamut == 0 && $deltatj > 0} { if {$tunnit == 0} { return "$tjmt TOSI WÄINÖ! TJ 0!!" } else { return "$tjmt AIKA WÄBÄ -- TJ $tunnit tuntia!" } } else { if {$deltatj > 0} { return "$tjmt $lause jäljellä... ([tj_ctime $tjpaiva])" } else { return "$tjmi ollut reservissä jo $lause! ([tj_ctime $tjpaiva])" } } } # ------------------------------------------------------------------------