sendChatAction method

Future<bool> sendChatAction(
  1. dynamic chatId,
  2. String action, {
  3. int? messageThreadId,
})

Use this method when you need to 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.

Example: The ImageBot needs some time to process a request and upload the image. Instead of sending a text message along the lines of “Retrieving image, please wait…”, the bot may use sendChatAction with action = uploadPhoto. The user will see a “sending photo” status for the bot.

We only recommend using this method when a response from the bot will take a noticeable amount of time to arrive.

https://core.telegram.org/bots/api#sendchataction

Implementation

Future<bool> sendChatAction(dynamic chatId, String action,
    {int? messageThreadId}) async {
  if (chatId is! String && chatId is! int) {
    return Future.error(TelegramException(
        'Attribute \'chatId\' can only be either type of String or int'));
  }
  var requestUrl = _apiUri('sendChatAction');
  var body = <String, dynamic>{
    'chat_id': chatId,
    'message_thread_id': messageThreadId,
    'action': action
  };
  return await HttpClient.httpPost(requestUrl, body: body);
}