editMessageLiveLocation method

Future<Message> editMessageLiveLocation(
  1. double latitude,
  2. double longitude, {
  3. dynamic chat_id,
  4. int? message_id,
  5. String? inline_message_id,
  6. double? horizontal_accuracy,
  7. int? heading,
  8. int? proximity_alert_radius,
  9. ReplyMarkup? reply_markup,
})
inherited

Use this method to edit live location messages sent by the bot or via the bot (for inline bots).

A location can be edited until its live_period expires or editing is explicitly disabled by a call to stopMessageLiveLocation. On success, if the edited message was sent by the bot, the edited Message is returned, otherwise True is returned.

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

Implementation

Future<Message> editMessageLiveLocation(double latitude, double longitude,
    {dynamic chat_id,
    int? message_id,
    String? inline_message_id,
    double? horizontal_accuracy,
    int? heading,
    int? proximity_alert_radius,
    ReplyMarkup? reply_markup}) async {
  if (inline_message_id == null && (chat_id == null || message_id == null)) {
    return Future.error(TelegramException(
        'Require either \'chat_id\' and \'message_id\', or \'inline_message_id\''));
  }
  if (chat_id != null && (chat_id is! String && chat_id is! int)) {
    return Future.error(TelegramException(
        'Attribute \'chat_id\' can only be either type of String or int'));
  }
  var requestUrl = _apiUri('editMessageLiveLocation');
  var body = <String, dynamic>{
    'latitude': latitude,
    'longitude': longitude,
    'chat_id': chat_id,
    'message_id': message_id,
    'inline_message_id': inline_message_id,
    'horizontal_accuracy': horizontal_accuracy,
    'heading': heading,
    'proximity_alert_radius': proximity_alert_radius,
    'reply_markup': reply_markup == null ? null : jsonEncode(reply_markup),
  };
  return Message.fromJson(await HttpClient.httpPost(requestUrl, body: body));
}