Add loginURL inline button, add ConnectedWebsite message field

pull/281/head
youaresofunny 6 years ago
parent cea05bfc44
commit e4e2514caf
  1. 9
      helpers.go
  2. 10
      types.go

@ -722,6 +722,15 @@ func NewInlineKeyboardButtonURL(text, url string) InlineKeyboardButton {
} }
} }
// NewInlineKeyboardButtonLoginURL creates an inline keyboard button with text
// which allows user to login into provided LoginURL.
func NewInlineKeyboardButtonLoginURL(text string, loginURL *LoginURL) InlineKeyboardButton {
return InlineKeyboardButton{
Text: text,
LoginURL: loginURL,
}
}
// NewInlineKeyboardButtonSwitch creates an inline keyboard button with // NewInlineKeyboardButtonSwitch creates an inline keyboard button with
// text which allows the user to switch to a chat or return to a chat. // text which allows the user to switch to a chat or return to a chat.
func NewInlineKeyboardButtonSwitch(text, sw string) InlineKeyboardButton { func NewInlineKeyboardButtonSwitch(text, sw string) InlineKeyboardButton {

@ -171,6 +171,7 @@ type Message struct {
Invoice *Invoice `json:"invoice"` // optional Invoice *Invoice `json:"invoice"` // optional
SuccessfulPayment *SuccessfulPayment `json:"successful_payment"` // optional SuccessfulPayment *SuccessfulPayment `json:"successful_payment"` // optional
PassportData *PassportData `json:"passport_data,omitempty"` // optional PassportData *PassportData `json:"passport_data,omitempty"` // optional
ConnectedWebsite *string `json:"connected_website,omitempty"` // optional
} }
// Time converts the message timestamp into a Time. // Time converts the message timestamp into a Time.
@ -473,6 +474,7 @@ type InlineKeyboardMarkup struct {
type InlineKeyboardButton struct { type InlineKeyboardButton struct {
Text string `json:"text"` Text string `json:"text"`
URL *string `json:"url,omitempty"` // optional URL *string `json:"url,omitempty"` // optional
LoginURL *LoginURL `json:"login_url,omitempty"` // optional
CallbackData *string `json:"callback_data,omitempty"` // optional CallbackData *string `json:"callback_data,omitempty"` // optional
SwitchInlineQuery *string `json:"switch_inline_query,omitempty"` // optional SwitchInlineQuery *string `json:"switch_inline_query,omitempty"` // optional
SwitchInlineQueryCurrentChat *string `json:"switch_inline_query_current_chat,omitempty"` // optional SwitchInlineQueryCurrentChat *string `json:"switch_inline_query_current_chat,omitempty"` // optional
@ -572,6 +574,14 @@ type WebhookInfo struct {
LastErrorMessage string `json:"last_error_message"` // optional LastErrorMessage string `json:"last_error_message"` // optional
} }
// LoginURL contains fields that allows user to login to webpage
type LoginURL struct {
URL string `json:"url"`
ForwardText *string `json:"forward_text,omitempty"`
BotUsername *string `json:"bot_username,omitempty"`
RequestWriteAcces *bool `json:"request_write_access,omitempty"`
}
// IsSet returns true if a webhook is currently set. // IsSet returns true if a webhook is currently set.
func (info WebhookInfo) IsSet() bool { func (info WebhookInfo) IsSet() bool {
return info.URL != "" return info.URL != ""