getAllEntitiesWithText method

Map<MessageEntityType, List<String>> getAllEntitiesWithText()

Gets all entities with their corresponding text content.

Returns a map where keys are entity types and values are lists of text content for each entity of that type.

Example:

// For message: "Hello @user1 @user2 #flutter"
final allEntities = ctx.getAllEntitiesWithText();
// Returns: {
//   MessageEntityType.mention: ["user1", "user2"],
//   MessageEntityType.hashtag: ["flutter"]
// }

Implementation

Map<MessageEntityType, List<String>> getAllEntitiesWithText() {
  final entityData = _getEntityData();
  if (entityData == null) return {};

  final result = <MessageEntityType, List<String>>{};

  for (final entity in entityData.entities) {
    final text = _extractEntityText(entity, entityData.text, entity.type);
    if (text != null) {
      result.putIfAbsent(entity.type, () => []).add(text);
    }
  }

  return result;
}