github.com/tada-team/tdproto@v1.51.57/server_call_buzz.go (about)

     1  package tdproto
     2  
     3  import (
     4  	"time"
     5  )
     6  
     7  func NewServerCallBuzz(teamShort TeamShort, chatShort ChatShort, actorShort ContactShort, uid string, callType CallType, timeout time.Duration) (r ServerCallBuzz) {
     8  	r.Name = r.GetName()
     9  	r.Params.TeamShort = teamShort
    10  	r.Params.ChatShort = chatShort
    11  	r.Params.ActorShort = actorShort
    12  	r.Params.Uid = uid
    13  	r.Params.Jid = chatShort.Jid
    14  	r.Params.BuzzTimeout = int(timeout.Seconds())
    15  	r.Params.Icons = chatShort.Icons
    16  	r.Params.DisplayName = chatShort.DisplayName
    17  	r.Params.Team = teamShort.Uid
    18  	r.Params.CallType = callType
    19  	return r
    20  }
    21  
    22  // Call buzzing
    23  type ServerCallBuzz struct {
    24  	BaseEvent
    25  	Params serverCallBuzzParams `json:"params"`
    26  }
    27  
    28  func (p ServerCallBuzz) GetName() string { return "server.call.buzz" }
    29  
    30  // Params of the server.call.buzz event
    31  type serverCallBuzzParams struct {
    32  	// Chat or contact id
    33  	Jid JID `json:"jid"`
    34  
    35  	// Chat icons
    36  	Icons IconData `json:"icons"`
    37  
    38  	// Chat title
    39  	DisplayName string `json:"display_name"`
    40  
    41  	// Short team information
    42  	TeamShort TeamShort `json:"teaminfo"`
    43  
    44  	// Short chat information
    45  	ChatShort ChatShort `json:"chat"`
    46  
    47  	// Short call creator information
    48  	ActorShort ContactShort `json:"actor"`
    49  
    50  	// Call id
    51  	Uid string `json:"uid"`
    52  
    53  	// Number of seconds for stop buzzing
    54  	BuzzTimeout int `json:"buzz_timeout"`
    55  
    56  	// Deprecated
    57  	Team string `json:"team"`
    58  
    59  	// CallType is a type of call("audio" - audio room, "video" - video room)
    60  	CallType CallType `json:"call_type"`
    61  }