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:    &params,
    30  	}
    31  }
    32  
    33  type Event interface {
    34  	GetName() string
    35  	GetConfirmId() string
    36  }