canHandle method
Determines whether this builder can handle the given message
and
attachments
. If this returns true
, build will be called.
Otherwise, the next builder in the list will be called.
Implementation
@override
bool canHandle(
Message message,
Map<String, List<Attachment>> attachments,
) {
final types = attachments.keys;
final containsImage = types.contains(AttachmentType.image);
final containsVideo = types.contains(AttachmentType.video);
final containsGiphy = types.contains(AttachmentType.giphy);
final containsFile = types.contains(AttachmentType.file);
final containsUrlPreview = types.contains(AttachmentType.urlPreview);
final containsMedia = containsImage || containsVideo || containsGiphy;
return containsMedia && containsFile ||
containsMedia && containsUrlPreview ||
containsFile && containsUrlPreview ||
containsMedia && containsFile && containsUrlPreview;
}