Add kick and unban methods, update some inline query result responses.
parent
18510df3c9
commit
db12d94016
35
bot.go
35
bot.go
|
@ -502,3 +502,38 @@ func (bot *BotAPI) AnswerCallbackQuery(config CallbackConfig) (APIResponse, erro
|
|||
|
||||
return bot.MakeRequest("answerCallbackQuery", v)
|
||||
}
|
||||
|
||||
// KickChatMember kicks a user from a chat. Note that this only will work
|
||||
// in supergroups, and requires the bot to be an admin. Also note they
|
||||
// will be unable to rejoin until they are unbanned.
|
||||
func (bot *BotAPI) KickChatMember(config ChatMemberConfig) (APIResponse, error) {
|
||||
v := url.Values{}
|
||||
|
||||
if config.SuperGroupUsername == "" {
|
||||
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||
} else {
|
||||
v.Add("chat_id", config.SuperGroupUsername)
|
||||
}
|
||||
v.Add("user_id", strconv.Itoa(config.UserID))
|
||||
|
||||
bot.debugLog("kickChatMember", v, nil)
|
||||
|
||||
return bot.MakeRequest("kickChatMember", v)
|
||||
}
|
||||
|
||||
// UnbanChatMember unbans a user from a chat. Note that this only will work
|
||||
// in supergroups, and requires the bot to be an admin.
|
||||
func (bot *BotAPI) UnbanChatMember(config ChatMemberConfig) (APIResponse, error) {
|
||||
v := url.Values{}
|
||||
|
||||
if config.SuperGroupUsername == "" {
|
||||
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||
} else {
|
||||
v.Add("chat_id", config.SuperGroupUsername)
|
||||
}
|
||||
v.Add("user_id", strconv.Itoa(config.UserID))
|
||||
|
||||
bot.debugLog("unbanChatMember", v, nil)
|
||||
|
||||
return bot.MakeRequest("unbanChatMember", v)
|
||||
}
|
||||
|
|
|
@ -559,3 +559,9 @@ type CallbackConfig struct {
|
|||
Text string `json:"text"`
|
||||
ShowAlert bool `json:"show_alert"`
|
||||
}
|
||||
|
||||
type ChatMemberConfig struct {
|
||||
ChatID int64
|
||||
SuperGroupUsername string
|
||||
UserID int
|
||||
}
|
||||
|
|
|
@ -288,7 +288,9 @@ func NewInlineQueryResultArticle(id, title, messageText string) InlineQueryResul
|
|||
Type: "article",
|
||||
ID: id,
|
||||
Title: title,
|
||||
MessageText: messageText,
|
||||
InputMessageContent: InputTextMessageContent{
|
||||
Text: messageText,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
56
types.go
56
types.go
|
@ -347,9 +347,8 @@ type InlineQueryResultArticle struct {
|
|||
Type string `json:"type"` // required
|
||||
ID string `json:"id"` // required
|
||||
Title string `json:"title"` // required
|
||||
MessageText string `json:"message_text"` // required
|
||||
ParseMode string `json:"parse_mode"`
|
||||
DisableWebPagePreview bool `json:"disable_web_page_preview"`
|
||||
InputMessageContent interface{} `json:"input_message_content"` // required
|
||||
ReplyMarkup InlineKeyboardMarkup `json:"reply_markup"`
|
||||
URL string `json:"url"`
|
||||
HideURL bool `json:"hide_url"`
|
||||
Description string `json:"description"`
|
||||
|
@ -370,9 +369,8 @@ type InlineQueryResultPhoto struct {
|
|||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
Caption string `json:"caption"`
|
||||
MessageText string `json:"message_text"`
|
||||
ParseMode string `json:"parse_mode"`
|
||||
DisableWebPagePreview bool `json:"disable_web_page_preview"`
|
||||
ReplyMarkup InlineKeyboardMarkup `json:"reply_markup"`
|
||||
InputMessageContent interface{} `json:"input_message_content"`
|
||||
}
|
||||
|
||||
// InlineQueryResultGIF is an inline query response GIF.
|
||||
|
@ -385,9 +383,8 @@ type InlineQueryResultGIF struct {
|
|||
ThumbURL string `json:"thumb_url"`
|
||||
Title string `json:"title"`
|
||||
Caption string `json:"caption"`
|
||||
MessageText string `json:"message_text"`
|
||||
ParseMode string `json:"parse_mode"`
|
||||
DisableWebPagePreview bool `json:"disable_web_page_preview"`
|
||||
ReplyMarkup InlineKeyboardMarkup `json:"reply_markup"`
|
||||
InputMessageContent interface{} `json:"input_message_content"`
|
||||
}
|
||||
|
||||
// InlineQueryResultMPEG4GIF is an inline query response MPEG4 GIF.
|
||||
|
@ -400,9 +397,8 @@ type InlineQueryResultMPEG4GIF struct {
|
|||
ThumbURL string `json:"thumb_url"`
|
||||
Title string `json:"title"`
|
||||
Caption string `json:"caption"`
|
||||
MessageText string `json:"message_text"`
|
||||
ParseMode string `json:"parse_mode"`
|
||||
DisableWebPagePreview bool `json:"disable_web_page_preview"`
|
||||
ReplyMarkup InlineKeyboardMarkup `json:"reply_markup"`
|
||||
InputMessageContent interface{} `json:"input_message_content"`
|
||||
}
|
||||
|
||||
// InlineQueryResultVideo is an inline query response video.
|
||||
|
@ -411,14 +407,15 @@ type InlineQueryResultVideo struct {
|
|||
ID string `json:"id"` // required
|
||||
URL string `json:"video_url"` // required
|
||||
MimeType string `json:"mime_type"` // required
|
||||
MessageText string `json:"message_text"` // required
|
||||
ParseMode string `json:"parse_mode"`
|
||||
DisableWebPagePreview bool `json:"disable_web_page_preview"`
|
||||
Width int `json:"video_width"`
|
||||
Height int `json:"video_height"`
|
||||
ThumbURL string `json:"thumb_url"`
|
||||
Title string `json:"title"`
|
||||
Caption string `json:"caption"`
|
||||
Width int `json:"video_width"`
|
||||
Height int `json:"video_height"`
|
||||
Duration int `json:"video_duration"`
|
||||
Description string `json:"description"`
|
||||
ReplyMarkup InlineKeyboardMarkup `json:"reply_markup"`
|
||||
InputMessageContent interface{} `json:"input_message_content"`
|
||||
}
|
||||
|
||||
// ChosenInlineResult is an inline query result chosen by a User
|
||||
|
@ -427,3 +424,28 @@ type ChosenInlineResult struct {
|
|||
From User `json:"from"`
|
||||
Query string `json:"query"`
|
||||
}
|
||||
|
||||
type InputTextMessageContent struct {
|
||||
Text string `json:"message_text"`
|
||||
ParseMode string `json:"parse_mode"`
|
||||
DisableWebPagePreview bool `json:"disable_web_page_preview"`
|
||||
}
|
||||
|
||||
type InputLocationMessageContent struct {
|
||||
Latitude float64 `json:"latitude"`
|
||||
Longitude float64 `json:"longitude"`
|
||||
}
|
||||
|
||||
type InputVenueMessageContent struct {
|
||||
Latitude float64 `json:"latitude"`
|
||||
Longitude float64 `json:"longitude"`
|
||||
Title string `json:"title"`
|
||||
Address string `json:"address"`
|
||||
FoursquareID string `json:"foursquare_id"`
|
||||
}
|
||||
|
||||
type InputContactMessageContent struct {
|
||||
PhoneNumber string `json:"phone_number"`
|
||||
FirstName string `json:"first_name"`
|
||||
LastName string `json:"last_name"`
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue