summaryrefslogblamecommitdiff
path: root/irc/events.go
blob: b7bb430c1df492bf4e584fea616659a80bf062f8 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12

           
             


                      





                         

                             

                           


                           
                         
                         
                            


                           

                                                                            
                        

 
                           
                      
                      
                         

 
                           
                      


                           
                      
                      
                         

 
                           
                       
                         
                          
 
 







                              
                              

                      
                         

 


                             
                         

 





                         
                          
                              




                                 

 



                          
 



                                    




                           



                               
                                 


                     
 
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 UserOnlineEvent struct {
	User string
}

type UserOfflineEvent struct {
	User string
}

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 ReadEvent struct {
	Target    string
	Timestamp time.Time
}

type SearchEvent struct {
	Messages []MessageEvent
}

type BouncerNetworkEvent struct {
	ID     string
	Name   string
	Delete bool
}