-
Notifications
You must be signed in to change notification settings - Fork 0
/
sseen.tcl
73 lines (63 loc) · 1.97 KB
/
sseen.tcl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# ----------------------------------------------------------
#
# SSeen v 0.2.21
# Author: samu (IRC: samu@pirc.pl)
#
# ----------------------------------------------------------
#
# This is a very, very simple !seen script, which will not
# only tell you where did the bot last seen specified nick,
# but also where.
#
# TODO: A simple tracking of nick changes.
#
# ----------------------------------------------------------
# Config section
# ----------------------------------------------------------
set dateformat {%Y/%m/%d %H:%M:%S} # Specify the date
# format.
# ----------------------------------------------------------
#
# Then just do .chanset #channel +sseen, which will set both
# on which channel will he log users activity, but also on
# which will users be able to use the !seen command.
#
# ----------------------------------------------------------
bind pubm - * public_msg_save
bind sign - * public_msg_save
bind pub - !seen pub_show_seen
set ver "0.2.21"
setudef flag sseen
proc _showcurtime { } {
global dateformat
set _curtime [clock seconds]
set _curtime [clock format $_curtime -format $dateformat]
set _curtime [string map {"\n" ""} $_curtime]
return "$_curtime"
}
proc public_msg_save {nick userhost handle channel text} {
global lastseen
global lastchan
if {[channel get $channel sseen]} {
set lastseen($nick) [_showcurtime]
set lastchan($nick) $channel
}
}
proc pub_show_seen {nick userhost handle channel text} {
global lastseen
global lastchan
if {[channel get $channel sseen]} {
set text [lindex $text 0]
if {$text == $nick} {
putquick "PRIVMSG $channel :Why don't you try drinking less? I've heard memory is much better then..."
return 0;
} else {
if {[info exists lastseen($text)]} {
putserv "PRIVMSG $channel :I've seen $text at $lastseen($text) on $lastchan($text)."
} else {
putserv "PRIVMSG $channel :I haven't seen $text here yet."
}
}
}
}
putlog "SSeen $ver by samu (www.samaelszafran.pl) loaded!"