public override async Task ReplyAsync(IrcCommandContext ctx, TwitchStreamsResult data) { List <string> res = new(); foreach (var s in data.Streams) { res.Add($"{s.UserLogin}: {s.StreamLink}"); } await ctx.ReplyAsync($"Live Streams: {string.Join(" | ", res)}"); }
public override async Task ReplyAsync(IrcCommandContext ctx, FetchClanResult data) { string res = $"Clan: {data.Clan.Name} ({data.Clan.URL}), Size: {data.Clan.Size}, Description: {data.Clan.Description?.Replace("\n", " ")}"; await ctx.ReplyAsync(res); }
public override async Task ReplyAsync(IrcCommandContext ctx, UnitDatabaseSerachResult data) { var desc = data.GeneralData.UnitName is not null ? $@"""{data.GeneralData.UnitName}"" {data.Description}" : data.Description; await ctx.ReplyAsync($"[{data.GeneralData.FactionName} - {data.Id}] {desc}: {data.GetUnitDatabaseUrl()}"); }
public virtual Task ReplyAsync(IrcCommandContext ctx, T data) => ctx.ReplyAsync(data?.ToString() ?? "No Data");
public override async Task ReplyAsync(IrcCommandContext ctx, MapResult data) => await ctx.ReplyAsync($"Map: {data.Title}, ID: {data.Id}, Size: {data.Size}," + $" Players: {data.MaxPlayers}, Ranked: {data.Ranked}, Author: {data.Author}," + $" Download: {data.DownloadUrl?.AbsoluteUri.Replace(" ", "%20")}," + $" Preview: {data.PreviewUrl?.AbsoluteUri.Replace(" ", "%20")}");