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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package irc
import "time"
type Event interface{}
type ErrorEvent struct {
Severity Severity
Code string
Message string
}
type RegisteredEvent struct{}
type SelfNickEvent struct {
FormerNick string
}
type UserNickEvent struct {
User string
FormerNick string
Time time.Time
}
type SelfJoinEvent struct {
Channel string
Requested bool // whether we recently requested to join that channel
Topic string
}
type UserJoinEvent struct {
User string
Channel string
Time time.Time
}
type SelfPartEvent struct {
Channel string
}
type UserPartEvent struct {
User string
Channel string
Time time.Time
}
type UserQuitEvent struct {
User string
Channels []string
Time time.Time
}
type TopicChangeEvent struct {
Channel string
Topic string
Time time.Time
}
type ModeChangeEvent struct {
Channel string
Mode string
Time time.Time
}
type InviteEvent struct {
Inviter string
Invitee string
Channel string
}
type MessageEvent struct {
User string
Target string
TargetIsChannel bool
Command string
Content string
Time time.Time
}
type HistoryEvent struct {
Target string
Messages []Event
}
type HistoryTargetsEvent struct {
Targets map[string]time.Time
}
type BouncerNetworkEvent struct {
ID string
Name string
}