EmbedBuilder.fromGuildPreview constructor

EmbedBuilder.fromGuildPreview(
  1. GuildPreview preview
)

Implementation

factory EmbedBuilder.fromGuildPreview(GuildPreview preview) {
  MineralClient client = ioc.singleton(Service.client);

  final EmbedBuilder embed = EmbedBuilder(
    title: preview.label,
    description: preview.description,
    thumbnail: preview.icon != null ? Thumbnail(url: preview.icon!) : null,
    image: preview.discoverySplash != null ? Image(url: preview.discoverySplash!) : null,
    color: Color.invisible,
    timestamp: DateTime.now(),
    author: Author(name: client.user.username, iconUrl: client.user.defaultAvatar)
  );

  embed.addField(name: 'Identifier', value: preview.id);
  embed.addField(name: 'Features', value: preview.features.map((feature) => '• $feature').join('\n'), inline: true);

  if (preview.stickers.isNotEmpty) {
    embed.addField(name: 'Emojis', value: preview.emojis.values.map((emoji) => emoji).join(' '), inline: true);
  }

  embed.addField(name: '\u200B', value: '\u200B');
  embed.addField(name: 'Online members', value: '${preview.approximatePresenceCount} members', inline: true);
  embed.addField(name: 'Members', value: '${preview.approximateMemberCount} members', inline: true);
  embed.addField(name: '\u200B', value: '\u200B', inline: true);

  return embed;
}