Mercurial > hg > egg-tcls
annotate tj.tcl @ 637:2f62fa434056
tj: Improve a comment.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 16 Feb 2021 12:29:36 +0200 |
parents | c3911a8c28e5 |
children | 5260156d9521 |
rev | line source |
---|---|
70 | 1 ########################################################################## |
0 | 2 # |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
3 # TJ v2.0 by ccr/TNSP <ccr@tnsp.org> |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
4 # (C) Copyright 2021 Tecnic Software productions (TNSP) |
0 | 5 # |
6 # This script is freely distributable under GNU GPL (version 2) license. | |
7 # | |
70 | 8 ########################################################################## |
0 | 9 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
10 ### The configuration should be in config.tj in same directory |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
11 ### as this script. Or change the line below to point where ever |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
12 ### you wish. See "config.tj.example" for an example config file. |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
13 source [file dirname [info script]]/config.tj |
0 | 14 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
15 ### Required utillib.tcl |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
16 source [file dirname [info script]]/utillib.tcl |
0 | 17 |
18 | |
70 | 19 ########################################################################## |
0 | 20 # No need to look below this line |
70 | 21 ########################################################################## |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
22 package require sqlite3 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
23 package require textutil::split |
0 | 24 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
25 set tj_name "TJ" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
26 set tj_message "$tj_name v2.0 (C) 2021 ccr/TNSP" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
27 |
0 | 28 |
70 | 29 # ------------------------------------------------------------------------ |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
30 ### Utility functions |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
31 proc tj_log {umsg} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
32 global tj_log_enable tj_name |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
33 if {$tj_log_enable != 0} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
34 putlog "${tj_name}: $umsg" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
35 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
36 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
37 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
38 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
39 proc tj_qm {uid} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
40 global tj_messages |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
41 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
42 if {[info exists tj_messages($uid)]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
43 return $tj_messages($uid) |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
44 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
45 return $uid |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
46 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
47 } |
0 | 48 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
49 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
50 proc tj_smsg {apublic anick achan amsg {aargs {}}} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
51 global tj_preferredmsg tj_cmd_name |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
52 set amsg [string map [list "@cmd@" $tj_cmd_name] $amsg] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
53 utl_msg_args $tj_preferredmsg $apublic $anick $achan $amsg $aargs |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
54 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
55 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
56 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
57 proc tj_msg {apublic anick achan aid {aargs {}}} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
58 tj_smsg $apublic $anick $achan [tj_qm $aid] $aargs |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
59 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
60 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
61 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
62 proc tj_correct_handle {uhand} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
63 set ulower [string tolower $uhand] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
64 foreach uuser [userlist] { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
65 if {[string tolower $uuser] == $ulower} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
66 return $uuser |
0 | 67 } |
68 } | |
69 return "" | |
70 } | |
71 | |
72 | |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
73 proc tj_cmd_match {uid ustr} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
74 global tj_commands |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
75 return [utl_cmd_match tj_commands $uid $ustr] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
76 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
77 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
78 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
79 proc tj_arg_rest {rarglist rindex rstr} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
80 upvar $rstr dstr |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
81 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
82 if {$rindex < [llength $rarglist]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
83 set dstr [join [lrange $rarglist $rindex end] " "] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
84 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
85 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
86 return 0 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
87 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
88 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
89 |
0 | 90 |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
91 # ------------------------------------------------------------------------ |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
92 proc tj_get_id {rstr rindex rid} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
93 upvar $rindex uindex |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
94 upvar $rid uid |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
95 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
96 if {[string index $rstr 0] == "#"} { |
615
1dac9129eb0f
tj: Change #id handling to be case-insensitive.
Matti Hamalainen <ccr@tnsp.org>
parents:
614
diff
changeset
|
97 set uid [string range $rstr 1 end] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
98 incr uindex |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
99 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
100 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
101 return 0 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
102 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
103 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
104 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
105 |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
106 proc tj_get_default_id {uhand} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
107 global tj_default_id |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
108 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
109 set uid [getuser $uhand XTRA "tj_default_id"] |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
110 if {$uid == "" || $uid == "{}" || $uid == "*"} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
111 return $tj_default_id |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
112 } else { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
113 return $uid |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
114 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
115 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
116 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
117 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
118 proc tj_ctime {ustamp} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
119 return [clock format $ustamp -format [tj_qm "datefmt"]] |
0 | 120 } |
121 | |
122 | |
70 | 123 # ------------------------------------------------------------------------ |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
124 proc tj_str_append { qlist qvalue qsingular qplural } { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
125 upvar $qlist ulist |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
126 if {$qvalue > 0} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
127 if {$qvalue > 1} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
128 set qfmt $qplural |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
129 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
130 set qfmt $qsingular |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
131 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
132 lappend ulist [utl_str_map_values [tj_qm "tj_str_${qfmt}"] [list $qvalue]] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
133 } |
0 | 134 } |
135 | |
136 | |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
137 # Return string describing how many years,days,hours,etc |
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
138 # the given number of seconds consists of |
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
139 proc tj_get_tj_str {useconds} { |
505 | 140 |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
141 set uyears [expr ($useconds / (365*24*60*60))] |
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
142 set urem [expr ($useconds % (365*24*60*60))] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
143 set udays [expr ($urem / (24*60*60))] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
144 set urem [expr ($urem % (24*60*60))] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
145 set uhours [expr ($urem / (60*60))] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
146 set urem [expr ($urem % (60*60))] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
147 set uminutes [expr ($urem / 60)] |
0 | 148 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
149 set ulist {} |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
150 tj_str_append ulist $uyears "year" "years" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
151 tj_str_append ulist $udays "day" "days" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
152 tj_str_append ulist $uhours "hour" "hours" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
153 tj_str_append ulist $uminutes "minute" "minutes" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
154 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
155 set ustr [join [lrange $ulist 0 end-1] [tj_qm "tj_str_sep"]] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
156 if {[llength $ulist] > 1} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
157 append ustr [tj_qm "tj_str_sep_last"] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
158 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
159 append ustr [lindex $ulist end] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
160 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
161 return $ustr |
0 | 162 } |
163 | |
164 | |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
165 proc tj_get_tj_str_delta { ustamp } { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
166 set udelta [expr $ustamp - [clock seconds]] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
167 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
168 if {$udelta < 0} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
169 set ufmt "tj_past" |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
170 set useconds [expr -$udelta] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
171 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
172 set ufmt "tj_remaining" |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
173 set useconds $udelta |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
174 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
175 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
176 # return [utl_str_map_values [tj_qm $ufmt] [list ]] |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
177 return [tj_get_tj_str $useconds] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
178 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
179 |
0 | 180 |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
181 # ------------------------------------------------------------------------ |
624 | 182 proc tj_display_tjs {upublic unick uchan uname uid uclock} { |
183 | |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
184 set nresults 0 |
615
1dac9129eb0f
tj: Change #id handling to be case-insensitive.
Matti Hamalainen <ccr@tnsp.org>
parents:
614
diff
changeset
|
185 set usql "SELECT * FROM tj WHERE uuser='[utl_escape $uname]' AND utype=0 AND uid LIKE '[utl_escape $uid]'" |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
186 tj_dbh eval $usql { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
187 incr nresults |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
188 set ustamp [utl_sql_datetime_to_stamp $utarget] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
189 set udelta [expr $ustamp - $uclock] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
190 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
191 if {$udelta < 0} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
192 set ufmt "tj_past" |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
193 set useconds [expr -$udelta] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
194 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
195 set ufmt "tj_remaining" |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
196 set useconds $udelta |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
197 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
198 |
614
8c61b4032648
tj: Cleanup. Rename some variables to be more descriptive. Add a comment.
Matti Hamalainen <ccr@tnsp.org>
parents:
613
diff
changeset
|
199 tj_msg $upublic $unick $uchan $ufmt [list $uname $uid [tj_get_tj_str $useconds] [tj_ctime $ustamp]] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
200 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
201 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
202 if {!$nresults} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
203 tj_msg $upublic $unick $uchan "tj_not_set" [list $uname $uid] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
204 } |
0 | 205 } |
206 | |
207 | |
70 | 208 # ------------------------------------------------------------------------ |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
209 proc tj_cmd {unick $uhost uhand uchan uargs upublic} { |
633
bc87660aa400
tj: Add max items as configurable setting.
Matti Hamalainen <ccr@tnsp.org>
parents:
632
diff
changeset
|
210 global tj_messages tj_default_id tj_default_time tj_default_desc tj_max_items |
0 | 211 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
212 # Check if we have a valid user |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
213 if {![utl_valid_user $uhand]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
214 tj_msg $upublic $unick $uchan "err_invalid_user" [list $uhand] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
215 return 1 |
0 | 216 } |
217 | |
624 | 218 set uclock [clock seconds] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
219 set uhand [tj_correct_handle $uhand] |
622
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
220 set qadmin [matchattr $uhand n] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
221 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
222 # Check and handle arguments |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
223 set rarglist [::textutil::split::splitx $uargs {\s+}] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
224 set rcmd [lindex $rarglist 0] |
617
ce7a666991e3
tj: Cleanup, set rindex only once.
Matti Hamalainen <ccr@tnsp.org>
parents:
616
diff
changeset
|
225 set rindex 1 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
226 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
227 if {[tj_cmd_match "help" $rcmd]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
228 # Show help |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
229 foreach ukey $tj_messages(help_full) { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
230 tj_msg $upublic $unick $uchan $ukey |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
231 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
232 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
233 } elseif {[tj_cmd_match "set" $rcmd]} { |
620 | 234 # !tj set [#<id>] <[-/+]days [[+/-]<hours>] | dd.mm.yyyy [hh:mm]> [<desc>] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
235 if {![utl_arg_get $rarglist rindex rarg 0]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
236 tj_msg $upublic $unick $uchan "help_set" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
237 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
238 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
239 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
240 # Check for #id prefix |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
241 if {[tj_get_id $rarg rindex uid]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
242 set rdesc "" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
243 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
244 set rdesc $tj_default_desc |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
245 set uid [tj_get_default_id $uhand] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
246 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
247 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
248 if {![utl_arg_get $rarglist rindex rarg 1]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
249 tj_msg $upublic $unick $uchan "help_set" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
250 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
251 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
252 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
253 # Is it a time stamp? |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
254 if {[regexp {\d+\.\d+\.\d\d\d\d} $rarg rdate]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
255 # Seems so .. check for hours |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
256 set rtime $tj_default_time |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
257 if {[utl_arg_get $rarglist rindex rarg 0]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
258 if {[regexp {\d+:\d+} $rarg rtime]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
259 incr rindex |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
260 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
261 set rtime $tj_default_time |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
262 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
263 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
264 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
265 tj_arg_rest $rarglist $rindex rdesc |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
266 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
267 # Check the timestamp validity |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
268 if {[catch {set rstamp [clock scan "${rdate} ${rtime}" -format "%d.%m.%Y %H:%M"]} uerrmsg]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
269 tj_msg $upublic $unick $uchan "err_timestamp" [list $uerrmsg $rdate $rtime] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
270 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
271 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
272 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
273 } elseif {[regexp {(\+|\-)?(\d+)} $rarg -> dsign rdays]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
274 # Check for days |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
275 if {$dsign == "-"} { set rdays [expr -$rdays] } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
276 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
277 set rhours 0 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
278 if {[utl_arg_get $rarglist rindex rarg 0]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
279 if {[regexp {(\+|\-)?(\d+)} $rarg -> hsign rhours]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
280 if {$hsign == "-"} { set rhours [expr -$rhours] } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
281 incr rindex |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
282 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
283 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
284 tj_arg_rest $rarglist $rindex rdesc |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
285 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
286 if {$rhours < -24 || $rhours > 24} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
287 tj_msg $upublic $unick $uchan "err_invalid_hours" [list $rhours] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
288 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
289 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
290 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
291 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
292 # Compute target timestamp |
634
fd1c56676648
tj: Use uclock uniformly in tj_cmd.
Matti Hamalainen <ccr@tnsp.org>
parents:
633
diff
changeset
|
293 set rstamp [expr $uclock + ($rdays * 24 * 60 * 60) + ($rhours * 60 * 60)] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
294 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
295 # Only description, if any |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
296 if {![tj_arg_rest $rarglist 1 rdesc]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
297 tj_msg $upublic $unick $uchan "err_invalid_format" [list] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
298 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
299 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
300 set rstamp "invalid" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
301 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
302 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
303 # Check if ID exists |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
304 set umode 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
305 set nres 0 |
615
1dac9129eb0f
tj: Change #id handling to be case-insensitive.
Matti Hamalainen <ccr@tnsp.org>
parents:
614
diff
changeset
|
306 set usql "SELECT * FROM tj WHERE uid LIKE '[utl_escape $uid]'" |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
307 tj_dbh eval $usql { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
308 set umode 0 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
309 set cid $id |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
310 set ctarget $utarget |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
311 incr nres |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
312 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
313 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
314 # Check for DB sanity |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
315 if {$nres > 1} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
316 tj_msg $upublic $unick $uchan "err_db_corrupt" [list $nres] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
317 tj_log "too many $nres fatal error piip" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
318 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
319 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
320 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
321 # Check if we are trying to add a new entry without valid timestamp |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
322 if {$rstamp == "invalid"} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
323 if {$umode} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
324 tj_msg $upublic $unick $uchan "err_missing_timestamp" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
325 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
326 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
327 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
328 set rdate $ctarget |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
329 set ustamp [utl_sql_datetime_to_stamp $ctarget] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
330 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
331 set rdate [utl_sql_stamp_to_datetime $rstamp] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
332 set ustamp $rstamp |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
333 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
334 |
634
fd1c56676648
tj: Use uclock uniformly in tj_cmd.
Matti Hamalainen <ccr@tnsp.org>
parents:
633
diff
changeset
|
335 set utjstr [tj_get_tj_str_delta $rstamp $uclock] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
336 set udate [tj_ctime $ustamp] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
337 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
338 # Max reminders .. |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
339 set usql "SELECT COUNT(*) FROM tj WHERE uuser='[utl_escape $uhand]'" |
632 | 340 if {[catch {set nitems [tj_dbh onecolumn $usql]} uerrmsg]} { |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
341 tj_msg $upublic $unick $uchan "err_sql" [list $uerrmsg] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
342 tj_log "$uerrmsg on SQL:\n$usql" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
343 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
344 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
345 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
346 # Check for maximum reminders |
633
bc87660aa400
tj: Add max items as configurable setting.
Matti Hamalainen <ccr@tnsp.org>
parents:
632
diff
changeset
|
347 if {$nitems >= $tj_max_items} { |
bc87660aa400
tj: Add max items as configurable setting.
Matti Hamalainen <ccr@tnsp.org>
parents:
632
diff
changeset
|
348 tj_msg $upublic $unick $uchan "err_too_many" [list $nitems $tj_max_items] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
349 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
350 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
351 |
634
fd1c56676648
tj: Use uclock uniformly in tj_cmd.
Matti Hamalainen <ccr@tnsp.org>
parents:
633
diff
changeset
|
352 set ucreated [utl_sql_stamp_to_datetime $uclock] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
353 if {$umode} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
354 # Insert new entry |
631
9596cd122639
tj: Adjust database schema a bit, add new field 'uupdated'.
Matti Hamalainen <ccr@tnsp.org>
parents:
630
diff
changeset
|
355 set usql "INSERT INTO tj (uid,uuser,ucreated,uupdated,udesc,utype,utarget) VALUES ('[utl_escape $uid]', '[utl_escape $uhand]', '$ucreated', '$ucreated', '[utl_escape $rdesc]', 0, '$rdate')" |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
356 if {[catch {tj_dbh eval $usql} uerrmsg]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
357 tj_msg $upublic $unick $uchan "err_sql" [list $uerrmsg] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
358 tj_log "$uerrmsg on SQL:\n$usql" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
359 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
360 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
361 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
362 set cid [tj_dbh last_insert_rowid] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
363 tj_msg $upublic $unick $uchan "tj_set" [list $cid $uid $uhand $rdesc $udate $utjstr] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
364 tj_log "tj_set $cid:$uid:$uhand:$rdesc:$rdate:$udate" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
365 } else { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
366 # Update existing entry |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
367 set usqlargs {} |
631
9596cd122639
tj: Adjust database schema a bit, add new field 'uupdated'.
Matti Hamalainen <ccr@tnsp.org>
parents:
630
diff
changeset
|
368 lappend usqlargs "uupdated='$ucreated'" |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
369 if {[string length $rdesc] > 0} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
370 lappend usqlargs "udesc='[utl_escape $rdesc]'" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
371 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
372 if {$rstamp != "invalid"} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
373 lappend usqlargs "utarget='$rdate'" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
374 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
375 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
376 if {[llength $usqlargs] > 0} { |
636
c3911a8c28e5
tj: Oops, in 'set' command UPDATE clause we had forgotten to specify
Matti Hamalainen <ccr@tnsp.org>
parents:
635
diff
changeset
|
377 set usql "UPDATE tj SET [join $usqlargs ,] WHERE uuser='[utl_escape $uhand]' AND uid LIKE '[utl_escape $uid]'" |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
378 if {[catch {tj_dbh eval $usql} uerrmsg]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
379 tj_msg $upublic $unick $uchan "err_sql" [list $uerrmsg] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
380 tj_log "$uerrmsg on SQL:\n$usql" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
381 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
382 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
383 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
384 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
385 tj_msg $upublic $unick $uchan "tj_updated" [list $cid $uid $uhand $rdesc $udate $utjstr] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
386 tj_log "tj_updated $cid:$uid:$uhand:$rdesc:$rdate:$udate" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
387 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
388 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
389 } elseif {[tj_cmd_match "remind" $rcmd]} { |
620 | 390 # !tj remind #<id> <<dd.mm.yyyy [hh:mm]>|<message>> |
391 # !tj remind #<id> <<dd.mm [hh:mm]>|<message>> | |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
392 if {[llength $rarglist] < 3} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
393 tj_msg $upublic $unick $uchan "help_add" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
394 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
395 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
396 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
397 } elseif {[tj_cmd_match "list" $rcmd]} { |
622
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
398 # !tj list [name] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
399 # List reminders |
622
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
400 if {[utl_arg_get $rarglist rindex uname 1]} { |
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
401 set uname [tj_correct_handle $uname] |
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
402 } else { |
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
403 set uname $uhand |
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
404 } |
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
405 |
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
406 set usql "SELECT COUNT(*) FROM tj WHERE uuser='[utl_escape $uname]'" |
616
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
407 if {[catch {set nitems [tj_dbh onecolumn $usql]} uerrmsg]} { |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
408 tj_msg $upublic $unick $uchan "err_sql" [list $uerrmsg] |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
409 tj_log "$uerrmsg on SQL:\n$usql" |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
410 return 1 |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
411 } |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
412 |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
413 set nitem 0 |
622
84a30765baa1
tj: Add ability for administrator users to 'list' other peoples TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
621
diff
changeset
|
414 set usql "SELECT * FROM tj WHERE uuser='[utl_escape $uname]' ORDER BY ucreated" |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
415 tj_dbh eval $usql { |
616
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
416 incr nitem |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
417 set ustamp [utl_sql_datetime_to_stamp $utarget] |
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
418 tj_msg $upublic $unick $uchan "list_item" [list $nitem $nitems [tj_ctime $ustamp] $uid $udesc] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
419 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
420 |
616
20dba2c757de
tj: Improve output of 'list' command, and make it configurable.
Matti Hamalainen <ccr@tnsp.org>
parents:
615
diff
changeset
|
421 if {!$nitem} { |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
422 tj_msg $upublic $unick $uchan "no_results" [list $uname] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
423 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
424 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
425 } elseif {[tj_cmd_match "delete" $rcmd]} { |
621
a1efc28ef5a4
tj: Require #-prefix for ids in 'delete' command.
Matti Hamalainen <ccr@tnsp.org>
parents:
620
diff
changeset
|
426 # !tj delete #<id> |
a1efc28ef5a4
tj: Require #-prefix for ids in 'delete' command.
Matti Hamalainen <ccr@tnsp.org>
parents:
620
diff
changeset
|
427 if {![utl_arg_get $rarglist rindex rarg 0] || ![tj_get_id $rarg rindex uid]} { |
618
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
428 tj_msg $upublic $unick $uchan "help_delete" |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
429 return 1 |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
430 } |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
431 |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
432 set usql "SELECT COUNT(*) FROM tj WHERE uuser='[utl_escape $uhand]' AND uid LIKE '[utl_escape $uid]'" |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
433 if {[catch {set nitems [tj_dbh onecolumn $usql]} uerrmsg]} { |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
434 tj_msg $upublic $unick $uchan "err_sql" [list $uerrmsg] |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
435 tj_log "$uerrmsg on SQL:\n$usql" |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
436 return 1 |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
437 } |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
438 |
626
319c2e73860c
tj: When deleting a TJ, check if it exists and say so if it does not.
Matti Hamalainen <ccr@tnsp.org>
parents:
625
diff
changeset
|
439 if {$nitems == 0} { |
319c2e73860c
tj: When deleting a TJ, check if it exists and say so if it does not.
Matti Hamalainen <ccr@tnsp.org>
parents:
625
diff
changeset
|
440 tj_msg $upublic $unick $uchan "err_no_such_id" [list $uid] |
319c2e73860c
tj: When deleting a TJ, check if it exists and say so if it does not.
Matti Hamalainen <ccr@tnsp.org>
parents:
625
diff
changeset
|
441 return 1 |
319c2e73860c
tj: When deleting a TJ, check if it exists and say so if it does not.
Matti Hamalainen <ccr@tnsp.org>
parents:
625
diff
changeset
|
442 } |
319c2e73860c
tj: When deleting a TJ, check if it exists and say so if it does not.
Matti Hamalainen <ccr@tnsp.org>
parents:
625
diff
changeset
|
443 |
618
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
444 set usql "DELETE FROM tj WHERE uuser='[utl_escape $uhand]' AND uid LIKE '[utl_escape $uid]'" |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
445 if {[catch {set ndone [tj_dbh onecolumn $usql]} uerrmsg]} { |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
446 tj_msg $upublic $unick $uchan "err_sql" [list $uerrmsg] |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
447 tj_log "$uerrmsg on SQL:\n$usql" |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
448 return 1 |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
449 } |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
450 |
3b1fdba9a95c
tj: Implement initial 'delete' command functionality.
Matti Hamalainen <ccr@tnsp.org>
parents:
617
diff
changeset
|
451 tj_msg $upublic $unick $uchan "items_deleted" [list $uid $nitems] |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
452 |
628
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
453 # Check if we deleted the default ID |
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
454 set udefid [tj_get_default_id $uhand] |
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
455 if {[string tolower $uid] == [string tolower $udefid]} { |
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
456 setuser $uhand XTRA "tj_default_id" $tj_default_id |
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
457 |
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
458 tj_msg $upublic $unick $uchan "default_reset" [list $uid $tj_default_id] |
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
459 } |
eaf766018133
tj: If user deletes his or her default TJ ID, re-set the default to global default.
Matti Hamalainen <ccr@tnsp.org>
parents:
626
diff
changeset
|
460 |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
461 } elseif {[tj_cmd_match "default" $rcmd]} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
462 # !tj default #<id> |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
463 # Check for #id prefix |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
464 if {![utl_arg_get $rarglist rindex rarg 0] || ![tj_get_id $rarg rindex uid]} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
465 tj_msg $upublic $unick $uchan "help_default" |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
466 return 1 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
467 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
468 |
637 | 469 # If given ID is empty or *, clear to global default id |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
470 if {$uid == "" || $uid == "{}" || $uid == "*"} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
471 set uid $tj_default_id |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
472 } else { |
630 | 473 # Check if a TJ exists with this id? |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
474 set usql "SELECT COUNT(*) FROM tj WHERE uuser='[utl_escape $uhand]' AND uid='[utl_escape $uid]'" |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
475 if {[catch {set nids [tj_dbh onecolumn $usql]} uerrmsg]} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
476 tj_msg $upublic $unick $uchan "err_sql" [list $uerrmsg] |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
477 tj_log "$uerrmsg on SQL:\n$usql" |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
478 return 1 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
479 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
480 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
481 if {$nids < 1} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
482 tj_msg $upublic $unick $uchan "err_no_such_id" [list $uid] |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
483 return 1 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
484 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
485 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
486 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
487 setuser $uhand XTRA "tj_default_id" $uid |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
488 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
489 tj_msg $upublic $unick $uchan "default_set" [list $uid] |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
490 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
491 } elseif {[tj_cmd_match "show" $rcmd]} { |
620 | 492 # !tj show [#<id>] <name> |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
493 # Check for #id prefix |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
494 if {[utl_arg_get $rarglist rindex rarg 0]} { |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
495 set notdefault [tj_get_id $rarg rindex uid] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
496 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
497 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
498 if {![utl_arg_get $rarglist rindex rarg 0]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
499 tj_msg $upublic $unick $uchan "help_show" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
500 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
501 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
502 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
503 set uname [tj_correct_handle $rarg] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
504 if {$uname == ""} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
505 tj_msg $upublic $unick $uchan "err_unknown_user" [list $rcmd] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
506 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
507 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
508 |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
509 if {!$notdefault} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
510 set uid [tj_get_default_id $uname] |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
511 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
512 |
624 | 513 tj_display_tjs $upublic $unick $uchan $uname $uid $uclock |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
514 } else { |
620 | 515 # !tj [#<id>] [name] |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
516 set notdefault 0 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
517 set uname $uhand |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
518 set rindex 0 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
519 if {[utl_arg_get $rarglist rindex rarg 0]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
520 # Check for #id prefix |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
521 set notdefault [tj_get_id $rarg rindex uid] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
522 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
523 if {[utl_arg_get $rarglist rindex rarg 0]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
524 set uname [tj_correct_handle $rarg] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
525 if {$uname == ""} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
526 tj_msg $upublic $unick $uchan "err_unknown_user" [list $rcmd] |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
527 return 1 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
528 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
529 } |
625
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
530 } |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
531 |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
532 if {!$notdefault} { |
5eca657134a5
tj: Implement command to set/reset default ID for TJs.
Matti Hamalainen <ccr@tnsp.org>
parents:
624
diff
changeset
|
533 set uid [tj_get_default_id $uname] |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
534 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
535 |
624 | 536 tj_display_tjs $upublic $unick $uchan $uname $uid $uclock |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
537 } |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
538 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
539 return 1 |
0 | 540 } |
541 | |
542 | |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
543 #------------------------------------------------------------------------- |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
544 # Script initialization |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
545 #------------------------------------------------------------------------- |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
546 putlog "$tj_message" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
547 |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
548 if {[catch {sqlite3 tj_dbh $tj_db_file} uerrmsg]} { |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
549 putlog "Could not open SQLite3 database '${tj_db_file}': ${uerrmsg}" |
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
550 exit 2 |
125
42cf6a768c46
tj: Add support for years in the output.
Matti Hamalainen <ccr@tnsp.org>
parents:
108
diff
changeset
|
551 } |
42cf6a768c46
tj: Add support for years in the output.
Matti Hamalainen <ccr@tnsp.org>
parents:
108
diff
changeset
|
552 |
613
ea6ebcf42b47
TJ: Initial commit of the TJ2.0 refactoring effort. Instead of using Eggdrop
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
553 # end of script |