github.com/tada-team/tdproto@v1.51.57/event.go (about) 1 package tdproto 2 3 // Base of all events 4 type BaseEvent struct { 5 Name string `json:"event"` 6 ConfirmId string `json:"confirm_id,omitempty"` 7 } 8 9 // Generic event representation 10 type AnyEvent struct { 11 BaseEvent 12 Params *map[string]interface{} `json:"params"` 13 } 14 15 func (ev BaseEvent) GetName() string { return ev.Name } 16 func (ev BaseEvent) GetConfirmId() string { return ev.ConfirmId } 17 18 func (ev BaseEvent) String() string { 19 if ev.ConfirmId != "" { 20 return "*" + ev.Name 21 } 22 return ev.Name 23 } 24 25 func NewAnyEvent(name string) AnyEvent { 26 params := make(map[string]interface{}) 27 return AnyEvent{ 28 BaseEvent: BaseEvent{Name: name}, 29 Params: ¶ms, 30 } 31 } 32 33 type Event interface { 34 GetName() string 35 GetConfirmId() string 36 }