public Task <Result> Execute(CommandMetadata data) { var leaderboard = ParentPlugin.GetShipLeaderboard(data.Message.GetGuild()); EmbedBuilder builder = new EmbedBuilder(). WithAuthor(ParentPlugin.GuildHandler.BotUser). WithTitle("All ships on " + data.Message.GetGuild().Name + "."); foreach (var pair in leaderboard) { SocketGuildUser shippie = ParentPlugin.GuildHandler.GetUser(pair.Key); string ships = ""; foreach (Shipping.Ship ship in pair.Value) { ships += $"{ParentPlugin.ShipToString (ship)}\n"; } builder.AddField($"{shippie.GetShownName ()} has been shipped {pair.Value.Count} times in the following ships:", ships); } LargeEmbed largeEmbed = new LargeEmbed(); largeEmbed.CreateFrom(builder); return(TaskResult(largeEmbed, null)); }
public static async Task <IMessage[]> SendLargeEmbed(ITextChannel channel, EmbedBuilder sourceBuilder) { LargeEmbed largeEmbed = new LargeEmbed(); largeEmbed.CreateFrom(sourceBuilder); await largeEmbed.SendAsync(channel); return(largeEmbed.Message); }
public Task <Result> Execute(CommandMetadata _) { int shardIndex = 0; EmbedBuilder builder = new EmbedBuilder() .WithTitle("Core Process Status") .WithAuthor(ParentPlugin.GuildHandler.BotUser) .WithDescription(ParentPlugin.GuildHandler.Core.ToString()) .WithCurrentTimestamp(); LargeEmbed embed = new LargeEmbed(builder, ParentPlugin.GuildHandler.Client.GetShardsStatus().Select(x => new EmbedFieldBuilder().WithName($"Shard {shardIndex++}").WithValue($"```{x}```"))); return(TaskResult(embed, "")); }
public Task <Result> Execute(CommandMetadata metadata) { LargeEmbed embed = new LargeEmbed(); // TODO: Add status for shards and GuildHandlers. EmbedBuilder builder = new EmbedBuilder() .WithTitle("Core Process Status") .WithAuthor(ParentPlugin.GuildHandler.BotUser) .WithDescription(ParentPlugin.GuildHandler.Core.GetStatusString()) .WithCurrentTimestamp(); embed.CreateFrom(builder); return(TaskResult(embed, "")); }
public Task <Result> Execute(CommandMetadata data) { var leaderboard = ParentPlugin.GetShipLeaderboard(data.Message.GetGuild()); EmbedBuilder builder = new EmbedBuilder(). WithAuthor(ParentPlugin.GuildHandler.BotUser). WithTitle("All ships on " + data.Message.GetGuild().Name + "."); List <EmbedFieldBuilder> embedFields = new List <EmbedFieldBuilder>(); foreach (var pair in leaderboard) { SocketGuildUser shippie = ParentPlugin.GuildHandler.GetUser(pair.Key); var ships = string.Join("\n", ParentPlugin.GetShippieShips(shippie.Id).Select(x => ParentPlugin.ShipToString(x))); embedFields.Add(new EmbedFieldBuilder().WithName($"{shippie.GetShownName ()} has been shipped {pair.Value.Count} times in the following ships:\n").WithValue(ships)); } LargeEmbed largeEmbed = new LargeEmbed(builder, embedFields); return(TaskResult(largeEmbed, null)); }
public Task <Result> Execute(CommandMetadata data, SocketGuildUser user) { var ships = ParentPlugin.GetShippieShips(user); var catagorized = ships.GroupBy(x => x.GetCompanionTo(user.Id)); EmbedBuilder builder = new EmbedBuilder(); builder.WithAuthor(user). WithTitle("Ships containing " + user.GetShownName() + "."); foreach (var ship in catagorized) { var shippers = ship.Select(x => ParentPlugin.GuildHandler.GetUser(x.Shipper)); SocketGuildUser companion = ParentPlugin.GuildHandler.GetUser(ship.Key); builder.AddField("Shipped with " + companion.GetShownName() + " as " + ParentPlugin.GetShipName(ship.FirstOrDefault()) + " " + ship.Count() + " times by:", string.Join(", ", shippers)); } LargeEmbed largeEmbed = new LargeEmbed(); largeEmbed.CreateFrom(builder); return(TaskResult(largeEmbed, null)); }