Esempio n. 1
0
        public void WS_CovidStatsReady(COVID stats)
        {
            Task.Run(async() => {
                DateTime dateTime    = stats.date;
                DateTime yesterday   = dateTime.AddDays(-1);
                COVID yesterdayStats = await Data.APIHttpRequest <COVID>($"https://api.anastarawneh.tech/v1/covid-19/{yesterday.Year}/{yesterday.Month}/{yesterday.Day}", "GET");
                EmbedBuilder embed   = new EmbedBuilder();
                embed.WithTitle($"COVID-19 stats for {dateTime:dd/MM/yyyy}");
                embed.WithColor(Constants.IColors.Blurple);
                embed.WithDescription($"{stats.localCases} new local cases, {stats.deaths} casualties and {stats.recoveries} recoveries.");
                if (stats.cities.Total() != 0)
                {
                    embed.AddField("Amman", stats.cities.amman, true);
                    embed.AddField("Irbid", stats.cities.irbid, true);
                    embed.AddField("Zarqa", stats.cities.zarqa, true);
                    embed.AddField("Mafraq", stats.cities.mafraq, true);
                    embed.AddField("Ajloun", stats.cities.ajloun, true);
                    embed.AddField("Jerash", stats.cities.jerash, true);
                    embed.AddField("Madaba", stats.cities.madaba, true);
                    embed.AddField("Balqa", stats.cities.balqa, true);
                    embed.AddField("Karak", stats.cities.karak, true);
                    embed.AddField("Tafileh", stats.cities.tafileh, true);
                    embed.AddField("Ma'an", stats.cities.maan, true);
                    embed.AddField("Aqaba", stats.cities.aqaba, true);
                }
                decimal percentage = (decimal)stats.cases / (decimal)stats.tests * 100m;
                string moreStats   =
                    $"Total cases: {stats.totalCases}\n" +
                    $"Total casualties: {stats.totalDeaths}\n" +
                    $"Total recoveries: {stats.totalRecoveries}\n" +
                    $"Foreign cases: {stats.cases - stats.localCases}\n" +
                    $"Hospitalized cases today: {stats.hospitalized}, total: {stats.totalHospitalized}\n" +
                    $"Recovery distribution: {stats.homeRecoveries} at home, {stats.hospitalRecoveries} from hospitals\n" +
                    $"Tests today: {stats.tests}, total: {stats.totalTests}\n" +
                    $"Positive test percentage: {Math.Round(percentage, 2)}%\n" +
                    $"Active cases: {stats.active}";
                if (yesterdayStats.critical != 0)
                {
                    moreStats += $"\nYesterday's critical cases: {yesterdayStats.critical}";
                }
                if (stats.vaxRegistered != 0)
                {
                    moreStats +=
                        $"\nvaccine.jo registrants: {stats.vaxRegistered}\n" +
                        $"Vaccinated - First dose: {stats.vaxFirstDose}\n" +
                        $"Vaccinated - Second dose: {stats.vaxSecondDose}";
                }
                embed.AddField("More stats", moreStats);

                SocketTextChannel channel = Constants.IGuilds.Jordan(_client).GetTextChannel(Data.GetChnlId("covid-19-stats"));
                RestUserMessage msg       = await channel.SendMessageAsync(MentionUtils.MentionRole(773576613605933087), false, embed.Build());
                await msg.CrosspostAsync();
            });
        }