Add PinChatMessage and UnpinChatMessage methods
parent
13c54dc548
commit
b24a37443a
44
bot.go
44
bot.go
|
@ -837,18 +837,42 @@ func (bot *BotAPI) DeleteMessage(config DeleteMessageConfig) (APIResponse, error
|
||||||
|
|
||||||
// GetInviteLink get InviteLink for a chat
|
// GetInviteLink get InviteLink for a chat
|
||||||
func (bot *BotAPI) GetInviteLink(config ChatConfig) (string, error) {
|
func (bot *BotAPI) GetInviteLink(config ChatConfig) (string, error) {
|
||||||
v := url.Values{}
|
v := url.Values{}
|
||||||
|
|
||||||
if config.SuperGroupUsername == "" {
|
if config.SuperGroupUsername == "" {
|
||||||
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||||
} else {
|
} else {
|
||||||
v.Add("chat_id", config.SuperGroupUsername)
|
v.Add("chat_id", config.SuperGroupUsername)
|
||||||
}
|
}
|
||||||
|
|
||||||
resp, err := bot.MakeRequest("exportChatInviteLink", v)
|
resp, err := bot.MakeRequest("exportChatInviteLink", v)
|
||||||
|
|
||||||
var inviteLink string
|
var inviteLink string
|
||||||
err = json.Unmarshal(resp.Result, &inviteLink)
|
err = json.Unmarshal(resp.Result, &inviteLink)
|
||||||
|
|
||||||
return inviteLink, err
|
return inviteLink, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pin message in supergroup
|
||||||
|
func (bot *BotAPI) PinChatMessage(config PinChatMessageConfig) (APIResponse, error) {
|
||||||
|
v, err := config.values()
|
||||||
|
if err != nil {
|
||||||
|
return APIResponse{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
bot.debugLog(config.method(), v, nil)
|
||||||
|
|
||||||
|
return bot.MakeRequest(config.method(), v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unpin message in supergroup
|
||||||
|
func (bot *BotAPI) UnpinChatMessage(config UnpinChatMessageConfig) (APIResponse, error) {
|
||||||
|
v, err := config.values()
|
||||||
|
if err != nil {
|
||||||
|
return APIResponse{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
bot.debugLog(config.method(), v, nil)
|
||||||
|
|
||||||
|
return bot.MakeRequest(config.method(), v)
|
||||||
}
|
}
|
38
configs.go
38
configs.go
|
@ -1035,3 +1035,41 @@ func (config DeleteMessageConfig) values() (url.Values, error) {
|
||||||
|
|
||||||
return v, nil
|
return v, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PinChatMessageConfig contains information of a message in a chat to pin.
|
||||||
|
type PinChatMessageConfig struct {
|
||||||
|
ChatID int64
|
||||||
|
MessageID int
|
||||||
|
DisableNotification bool
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config PinChatMessageConfig) method() string {
|
||||||
|
return "pinChatMessage"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config PinChatMessageConfig) values() (url.Values, error) {
|
||||||
|
v := url.Values{}
|
||||||
|
|
||||||
|
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||||
|
v.Add("message_id", strconv.Itoa(config.MessageID))
|
||||||
|
v.Add("disable_notification", strconv.FormatBool(config.DisableNotification))
|
||||||
|
|
||||||
|
return v, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnpinChatMessageConfig contains information of chat to unpin.
|
||||||
|
type UnpinChatMessageConfig struct {
|
||||||
|
ChatID int64
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config UnpinChatMessageConfig) method() string {
|
||||||
|
return "unpinChatMessage"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (config UnpinChatMessageConfig) values() (url.Values, error) {
|
||||||
|
v := url.Values{}
|
||||||
|
|
||||||
|
v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
|
||||||
|
|
||||||
|
return v, nil
|
||||||
|
}
|
Loading…
Reference in New Issue