aboutsummaryrefslogtreecommitdiff
path: root/down-the-tube-chat.tcl
blob: 8e9fa7b8e72e93794eb4a5bc3652cf49e5c29910 (about) (plain) (blame)
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
74
75
bind pubm * "#down-the-tube *" dtt-privmsg

proc dtt-privmsg {nick uhost hand chan text} {
	if {([string index $text 0] == "!") && (([string index $text 1] != " ") && ([string length $text] != "1"))} {
	    return 0
	}
	if {([string match "*@archiveteam/Aramaki" $uhost]) || ([string match "*@hackint/user/h2ibot" $uhost])} {
	    return 0
	}
	if {([string match "*@hackint/user/nullbot" $uhost])} {
		return 0
	}

	if {([string match "*@hackint/user/kh2i" $uhost])} {
		return 0
	}

	if {[string index $text 0] == "\001"} {
            return 0
	}
	if {[isop $nick $chan]} {
		set nick "@$nick"
	} elseif {[isvoice $nick $chan]} {
		set nick "+$nick"
	}
	
        putserv "PRIVMSG #down-the-tube-chat :<$nick> $text"
}

bind ctcp * "ACTION" dtt-action

proc dtt-action {nick uhost hand dest keyword text} {
    if {$dest == "#down-the-tube"} {
	if {[isop $nick $dest]} {
		set nick "@$nick"
	} elseif {[isvoice $nick $dest]} {
		set nick "+$nick"
	}
        putserv "PRIVMSG #down-the-tube-chat :\001ACTION <$nick> $text\001"
    }
}

bind notc * "*" dtt-notice

proc dtt-notice {nick uhost hand text {dest ""}} {
    if {$dest == "#down-the-tube"} {
	if {[isop $nick $dest]} {
		set nick "@$nick"
	} elseif {[isvoice $nick $dest]} {
		set nick "+$nick"
	}
        putserv "NOTICE #down-the-tube-chat :<$nick> $text"
    }
}

bind out * "% sent" dtt-out

proc dtt-out {queue text status} {
	set botnick $::botnick
	if {[botisop "#down-the-tube"]} {
		set botnick "@$botnick"
	} elseif {[botisvoice "#down-the-tube"]} {
		set botnick "+$botnick"
	}
    if {[string match "PRIVMSG #down-the-tube *" $text]} {
	    if {[string match "*\\\[remind\\\]*" $text]} {
	    putserv "PRIVMSG #down-the-tube-chat :<$botnick> [join [lrange [split $text ":"] 1 end] ":"]"
    }
    }
    if {[string match "NOTICE #down-the-tube *" $text]} {
	    if {[string match "*\\\[karma\\\]*" $text]} {
	    putserv "NOTICE #down-the-tube-chat :<$botnick> [join [lrange [split $text ":"] 1 end] ":"]"
    }
    }
}