sendMediaGroup method
Sends a group of photos, videos, documents or audios as an album.
Messages sent as a group cannot be edited or deleted individually. On success, an array of Messages that were sent is returned.
Implementation
Future<List<Message>> sendMediaGroup(
ID chatId,
List<InputMedia> media, {
int? messageThreadId,
bool? disableNotification,
bool? protectContent,
ReplyParameters? replyParameters,
String? businessConnectionId,
String? messageEffectId,
bool? allowPaidBroadcast,
int? directMessagesTopicId,
}) async {
final params = <String, dynamic>{
'chat_id': chatId,
'media': media,
'message_thread_id': ?messageThreadId,
'disable_notification': ?disableNotification,
'protect_content': ?protectContent,
'reply_parameters': ?replyParameters,
'business_connection_id': ?businessConnectionId,
'message_effect_id': ?messageEffectId,
'allow_paid_broadcast': ?allowPaidBroadcast,
'direct_messages_topic_id': ?directMessagesTopicId,
};
final files = _prepareFiles(
media.expand((e) => e.getInputFiles().map((e) => (null, e))),
);
final payload = Payload(params, files);
final response = await _makeRequest<List<dynamic>>(
APIMethod.sendMediaGroup.name,
payload,
);
return response.map((json) => Message.fromJson(json)).toList();
}