Added `editMessageLiveLocation` and `stopMessageLiveLocation` methods
pr0head pr0head@gmail.com
Sat, 14 Oct 2017 01:05:24 +0300
2 files changed,
54 insertions(+),
12 deletions(-)
M
configs.go
→
configs.go
@@ -597,6 +597,51 @@ func (config LocationConfig) method() string {
return "sendLocation" } +// LocationConfig contains information about a SendLocation request. +type EditMessageLiveLocationConfig struct { + BaseEdit + Latitude float64 // required + Longitude float64 // required +} + +// values returns a url.Values representation of EditMessageLiveLocationConfig. +func (config EditMessageLiveLocationConfig) values() (url.Values, error) { + v, err := config.BaseEdit.values() + if err != nil { + return v, err + } + + v.Add("latitude", strconv.FormatFloat(config.Latitude, 'f', 6, 64)) + v.Add("longitude", strconv.FormatFloat(config.Longitude, 'f', 6, 64)) + + return v, nil +} + +// method returns Telegram API method name for edit message Live Location. +func (config EditMessageLiveLocationConfig) method() string { + return "editMessageLiveLocation" +} + +// LocationConfig contains information about a StopMessageLiveLocation request. +type StopMessageLiveLocationConfig struct { + BaseEdit +} + +// values returns a url.Values representation of StopMessageLiveLocationConfig. +func (config StopMessageLiveLocationConfig) values() (url.Values, error) { + v, err := config.BaseEdit.values() + if err != nil { + return v, err + } + + return v, nil +} + +// method returns Telegram API method name for stop message Live Location. +func (config StopMessageLiveLocationConfig) method() string { + return "stopMessageLiveLocation" +} + // VenueConfig contains information about a SendVenue request. type VenueConfig struct { BaseChat
M
types.go
→
types.go
@@ -331,9 +331,8 @@ }
// Location contains information about a place. type Location struct { - Longitude float64 `json:"longitude"` - Latitude float64 `json:"latitude"` - LivePeriod int `json:"live_period"` + Longitude float64 `json:"longitude"` + Latitude float64 `json:"latitude"` } // Venue contains information about a venue, including its Location.@@ -640,12 +639,11 @@ }
// InlineQueryResultLocation is an inline query response location. type InlineQueryResultLocation struct { - Type string `json:"type"` // required - ID string `json:"id"` // required - Latitude float64 `json:"latitude"` // required - Longitude float64 `json:"longitude"` // required - LivePeriod int `json:"live_period"` // optional - Title string `json:"title"` // required + Type string `json:"type"` // required + ID string `json:"id"` // required + Latitude float64 `json:"latitude"` // required + Longitude float64 `json:"longitude"` // required + Title string `json:"title"` // required ReplyMarkup *InlineKeyboardMarkup `json:"reply_markup,omitempty"` InputMessageContent interface{} `json:"input_message_content,omitempty"` ThumbURL string `json:"thumb_url"`@@ -681,9 +679,8 @@
// InputLocationMessageContent contains a location for displaying // as an inline query result. type InputLocationMessageContent struct { - Latitude float64 `json:"latitude"` - Longitude float64 `json:"longitude"` - LivePeriod int `json:"live_period"` + Latitude float64 `json:"latitude"` + Longitude float64 `json:"longitude"` } // InputVenueMessageContent contains a venue for displaying