summaryrefslogtreecommitdiffstats
path: root/tcllib/examples/irc/mainloop.tcl
blob: 70c72158f722badb42e78c773d4850eb0f3fd318 (plain)
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
# Main body of code.

puts -nonewline "Loading [info script] ..."

#    $cn connect irc.freenode.net 6667
$cn registerevent 001 "$cn join $channel"

# Register a default action for commands from the server.
$cn registerevent defaultcmd {
    puts "[action] [msg]"
}

# Register a default action for numeric events from the server.
$cn registerevent defaultnumeric {
    puts "[action] XXX [target] XXX [msg]"
}

# Register a default action for events.
$cn registerevent defaultevent {
    puts "[action] XXX [who] XXX [target] XXX [msg]"
}

# Register a default action for PRIVMSG (either public or to a
# channel).

$cn registerevent PRIVMSG {
    puts "[who] says to [target] [msg]"
}

# If you uncomment this, you can change this file and reload it
# without shutting down the network connection.

if {0} {
    $cn registerevent PRIVMSG {
	puts "[who] says to [target] [msg]"
	if { [msg] == "RELOAD" && [target] == $::ircclient::nick } {
	    if [catch {
		::irc::reload
	    } err] {
		puts "Error: $err"
	    }
	    set ::ircclient::RELOAD 1
	}
    }
}

$cn registerevent KICK {
    puts "[who] KICKed [target] : [msg]"
}

puts " done"