Example #1
0
        private static async Task GoMarketeer(HttpClient httpClient, ICommandContext context, string system, JsonClasses.SearchInventoryType itemIDResults, JsonClasses.SearchName itemNameResults)
        {
            var url = "https://api.evemarketer.com/ec";

            var systemAddon     = string.Empty;
            var systemTextAddon = string.IsNullOrEmpty(system) ? null : $"{LM.Get("fromSmall")} {system}";

            switch (system?.ToLower())
            {
            case "jita":
                systemAddon = "&usesystem=30000142";
                break;

            case "amarr":
                systemAddon = "&usesystem=30002187";
                break;

            case "rens":
                systemAddon = "&usesystem=30002510";
                break;

            case "dodixie":
                systemAddon = "&usesystem=30002659";
                break;
            }

            httpClient.DefaultRequestHeaders.Clear();
            httpClient.DefaultRequestHeaders.Add("User-Agent", SettingsManager.DefaultUserAgent);
            var webReply = await httpClient.GetStringAsync($"{url}/marketstat/json?typeid={itemIDResults.inventory_type[0]}{systemAddon}");

            var marketReply = JsonConvert.DeserializeObject <List <JsonEveCentral.Items> >(webReply)[0];

            await LogHelper.LogInfo($"Sending {context.Message.Author}'s Price check", LogCat.PriceCheck);

            var builder = new EmbedBuilder()
                          .WithColor(new Color(0x00D000))
                          .WithThumbnailUrl($"https://image.eveonline.com/Type/{itemNameResults.id}_64.png")
                          .WithAuthor(author =>
            {
                author
                .WithName($"{LM.Get("Item")}: {itemNameResults.name}")
                .WithUrl($"https://www.fuzzwork.co.uk/info/?typeid={itemNameResults.id}/");
            })
                          .WithDescription($"{LM.Get("Prices")} {systemTextAddon}")
                          .AddField(LM.Get("Buy"), $"{LM.Get("marketLow")}: {marketReply.buy.min:N2}{Environment.NewLine}" +
                                    $"{LM.Get("marketMid")}: {marketReply.buy.avg:N2}{Environment.NewLine}" +
                                    $"{LM.Get("marketHigh")}: {marketReply.buy.max:N2}", true)
                          .AddField(LM.Get("Sell"), $"{LM.Get("marketLow")}: {marketReply.sell.min:N2}{Environment.NewLine}" +
                                    $"{LM.Get("marketMid")}: {marketReply.sell.avg:N2}{Environment.NewLine}" +
                                    $"{LM.Get("marketHigh")}: {marketReply.sell.max:N2}", true)
                          .AddField(LM.Get("Extra"), "\u200b")
                          .AddField(LM.Get("Buy"), $"5%: {marketReply.buy.fivePercent:N2}{Environment.NewLine}" +
                                    $"{LM.Get("Volume")}: {marketReply.buy.volume}", true)
                          .AddField(LM.Get("Sell"), $"5%: {marketReply.sell.fivePercent:N2}{Environment.NewLine}" +
                                    $"{LM.Get("Volume")}: {marketReply.sell.volume:N0}", true);
            var embed = builder.Build();
            await APIHelper.DiscordAPI.ReplyMessageAsync(context, "", embed).ConfigureAwait(false);
        }
Example #2
0
        private static async Task GoFuzz(HttpClient httpClient, ICommandContext context, string system,
                                         JsonClasses.SearchInventoryType itemIDResults, JsonClasses.SearchName itemNameResults)
        {
            var url = "https://market.fuzzwork.co.uk/aggregates/";

            var systemAddon     = string.Empty;
            var systemTextAddon = string.IsNullOrEmpty(system) ? null : $"{LM.Get("fromSmall")} {system}";

            switch (system?.ToLower())
            {
            default:
                systemAddon = "?station=60003760";
                break;

            case "amarr":
                systemAddon = "?station=60008494";
                break;

            case "rens":
                systemAddon = "?station=60004588";
                break;

            case "dodixie":
                systemAddon = "?station=60011866";
                break;
            }

            httpClient.DefaultRequestHeaders.Clear();
            httpClient.DefaultRequestHeaders.Add("User-Agent", SettingsManager.DefaultUserAgent);
            var webReply = await httpClient.GetStringAsync($"{url}{systemAddon}&types={itemIDResults.inventory_type[0]}");

            var market = JsonConvert.DeserializeObject <Dictionary <string, JsonEveCentral.FuzzItems> >(webReply);

            await LogHelper.LogInfo($"Sending {context.Message.Author}'s Price check", LogCat.PriceCheck);

            foreach (var marketReply in market.Values)
            {
                var builder = new EmbedBuilder()
                              .WithColor(new Color(0x00D000))
                              .WithThumbnailUrl($"https://image.eveonline.com/Type/{itemNameResults.id}_64.png")
                              .WithAuthor(author =>
                {
                    author
                    .WithName($"{LM.Get("Item")}: {itemNameResults.name}")
                    .WithUrl($"https://www.fuzzwork.co.uk/info/?typeid={itemNameResults.id}/");
                })
                              .WithDescription($"{LM.Get("Prices")} {systemTextAddon}")
                              .AddField(LM.Get("Buy"), $"{LM.Get("marketHigh")}: {marketReply.buy.max:N2}{Environment.NewLine}" +
                                        $"{LM.Get("marketMid")}: {marketReply.buy.weightedAverage:N2}{Environment.NewLine}" +
                                        $"{LM.Get("marketLow")}: {marketReply.buy.min:N2}{Environment.NewLine}" +
                                        $"{LM.Get("Volume")}: {marketReply.buy.volume}", true)
                              .AddField(LM.Get("Sell"), $"{LM.Get("marketLow")}: {marketReply.sell.min:N2}{Environment.NewLine}" +
                                        $"{LM.Get("marketMid")}: {marketReply.sell.weightedAverage:N2}{Environment.NewLine}" +
                                        $"{LM.Get("marketHigh")}: {marketReply.sell.max:N2}{Environment.NewLine}" +
                                        $"{LM.Get("Volume")}: {marketReply.sell.volume:N0}", true);

                var embed = builder.Build();
                await APIHelper.DiscordAPI.ReplyMessageAsync(context, "", embed).ConfigureAwait(false);

                await Task.Delay(500);
            }
        }