Gisle Aune
4 years ago
3 changed files with 60 additions and 11 deletions
@ -0,0 +1,32 @@ |
|||||
|
package irctest |
||||
|
|
||||
|
import "github.com/gissleh/irc" |
||||
|
|
||||
|
type EventLog struct { |
||||
|
events []*irc.Event |
||||
|
} |
||||
|
|
||||
|
func (l *EventLog) First(kind, verb string) *irc.Event { |
||||
|
for _, e := range l.events { |
||||
|
if e.Verb() == verb && e.Kind() == kind { |
||||
|
return e |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return nil |
||||
|
} |
||||
|
|
||||
|
func (l *EventLog) Last(kind, verb string) *irc.Event { |
||||
|
for i := len(l.events) - 1; i >= 0; i-- { |
||||
|
e := l.events[i] |
||||
|
if e.Verb() == verb && e.Kind() == kind { |
||||
|
return e |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
return nil |
||||
|
} |
||||
|
|
||||
|
func (l *EventLog) Handler(event *irc.Event, _ *irc.Client) { |
||||
|
l.events = append(l.events, event) |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue