2017-09-04 20:03:08 +00:00
|
|
|
package telegram
|
|
|
|
|
2018-02-15 23:28:49 +00:00
|
|
|
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.
|
2018-02-15 23:28:49 +00:00
|
|
|
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.
|
2018-08-21 11:05:04 +00:00
|
|
|
func (bot *Bot) SendChatAction(chatID int64, action string) (ok bool, err error) {
|
2018-02-15 23:28:49 +00:00
|
|
|
dst, err := json.Marshal(&SendChatActionParameters{
|
|
|
|
ChatID: chatID,
|
|
|
|
Action: action,
|
|
|
|
})
|
|
|
|
if err != nil {
|
2018-08-21 11:05:04 +00:00
|
|
|
return
|
2018-02-15 23:28:49 +00:00
|
|
|
}
|
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 {
|
2018-08-21 11:05:04 +00:00
|
|
|
return
|
2017-09-04 20:03:08 +00:00
|
|
|
}
|
|
|
|
|
2018-08-21 11:05:04 +00:00
|
|
|
err = json.Unmarshal(*resp.Result, &ok)
|
|
|
|
return
|
2017-09-04 20:03:08 +00:00
|
|
|
}
|