1
0
telegram/send_chat_action.go

37 lines
1021 B
Go
Raw Normal View History

2017-09-04 20:03:08 +00:00
package telegram
import json "github.com/pquerna/ffjson/ffjson"
2017-09-04 20:03:08 +00:00
2018-04-19 13:02:15 +00:00
// SendChatActionParameters represents data for SendChatAction method.
type SendChatActionParameters struct {
// Unique identifier for the target chat
ChatID int64 `json:"chat_id"`
Action string `json:"action"`
}
2017-09-04 20:03:08 +00:00
2017-10-06 07:55:54 +00:00
// SendChatAction tell the user that something is happening on the bot's side.
// The status is set for 5 seconds or less (when a message arrives from your bot,
// Telegram clients clear its typing status). Returns True on success.
2017-09-04 20:03:08 +00:00
//
2017-10-06 07:55:54 +00:00
// We only recommend using this method when a response from the bot will take a
// noticeable amount of time to arrive.
func (bot *Bot) SendChatAction(chatID int64, action string) (bool, error) {
dst, err := json.Marshal(&SendChatActionParameters{
ChatID: chatID,
Action: action,
})
if err != nil {
return false, err
}
2017-09-04 20:03:08 +00:00
2018-04-12 11:58:05 +00:00
resp, err := bot.request(dst, MethodSendChatAction)
2017-09-04 20:03:08 +00:00
if err != nil {
2017-09-04 20:54:28 +00:00
return false, err
2017-09-04 20:03:08 +00:00
}
var data bool
err = json.Unmarshal(*resp.Result, &data)
return data, err
}