2017-09-04 20:03:08 +00:00
package telegram
import (
"strconv"
json "github.com/pquerna/ffjson/ffjson"
http "github.com/valyala/fasthttp"
)
const (
ActionTyping = "typing"
ActionUploadPhoto = "upload_photo"
ActionRecordVideo = "record_video"
ActionUploadVideo = "upload_video"
ActionRecordAudio = "record_audio"
ActionUploadAudio = "upload_audio"
ActionUploadDocument = "upload_document"
ActionFindLocation = "find_location"
ActionRecordVideoNote = "record_video_note"
ActionUploadVideoNote = "upload_video_note"
)
// 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.
//
// We only recommend using this method when a response from the bot will take a noticeable amount of time to arrive.
2017-10-05 11:31:53 +00:00
func ( bot * Bot ) SendChatAction ( chatID int64 , action string ) ( bool , error ) {
2017-09-04 20:03:08 +00:00
var args http . Args
args . Add ( "action" , action ) // Type of action to broadcast
2017-10-05 11:31:53 +00:00
args . Add ( "chat_id" , strconv . FormatInt ( chatID , 10 ) )
2017-09-04 20:03:08 +00:00
2017-09-05 09:20:10 +00:00
resp , err := bot . request ( nil , "sendChatAction" , & args )
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
}