예제 #1
0
def generate_country_embed(embed, data, yesterdays_data):
    """
    Generate the embed which is sent when getting data for a specific country.

    Params:
        embed:
            The discord.Embed we will be editing.
        data:
            The data containing the figures and stats.
        yesterdays_data:
            The data containing yesterday's figures and stats.
    """

    embed.add_field(name="New cases yesterday",
                    value=corona_api.format_number(
                        yesterdays_data.today_cases))
    embed.add_field(name="New deaths yesterday",
                    value=corona_api.format_number(
                        yesterdays_data.today_deaths))
    embed.add_field(name="Total recoveries",
                    value=corona_api.format_number(data.recoveries))
    embed.add_field(name="Total critical cases",
                    value=corona_api.format_number(data.critical))
    embed.add_field(name="Active cases",
                    value=corona_api.format_number(data.active))
    embed.add_field(name="Cases per million people",
                    value=corona_api.format_number(data.cases_per_million))
    embed.add_field(name="Deaths per million people",
                    value=corona_api.format_number(data.deaths_per_million))
    embed.add_field(name="Last updated",
                    value=corona_api.format_date(data.updated))
    embed.description = "**Country: {}**".format(data.name)
    embed.set_thumbnail(url=data.info.flag)
예제 #2
0
def generate_all_embed(embed, data):
    embed.add_field(name="Total recoveries",
                    value=corona_api.format_number(data.recoveries))
    embed.add_field(name="Total critical cases",
                    value=corona_api.format_number(data.critical))
    embed.add_field(name="Active cases",
                    value=corona_api.format_number(data.active))
    embed.add_field(name="Last updated",
                    value=corona_api.format_date(data.updated))
예제 #3
0
def generate_country_embed(embed, data):
    embed.add_field(name="Total recoveries",
                    value=corona_api.format_number(data.recoveries))
    embed.add_field(name="Total critical cases",
                    value=corona_api.format_number(data.critical))
    embed.add_field(name="Active cases",
                    value=corona_api.format_number(data.active))
    embed.add_field(name="Cases per million people",
                    value=corona_api.format_number(data.cases_per_million))
    embed.add_field(name="Deaths per million people",
                    value=corona_api.format_number(data.deaths_per_million))
    embed.add_field(name="Last updated",
                    value=corona_api.format_date(data.updated))
    embed.description = "**Country: {}**".format(data.name)
    embed.set_thumbnail(url=data.flag)
예제 #4
0
    async def coronavirus(self, ctx, country=None):
        """
        Get the statistics for Coronavirus (COVID-19) for a specified country.

        Params:
            ctx:
                The context for the command
            country:
                The country to get the stats for. If None, get global stats
        """

        if not country:
            data = await self.corona.all()

        else:
            data = await self.corona.get_country_data(country)

        embed = discord.Embed(title="Coronavirus (COVID-19) stats",
                              color=65280)
        embed.set_footer(
            text=
            "These stats are what has been officially confirmed. It is possible that real figures are different."
        )

        embed.add_field(name="Total cases",
                        value=corona_api.format_number(data.cases))
        embed.add_field(name="Cases today",
                        value=corona_api.format_number(data.today_cases))
        embed.add_field(name="Total deaths",
                        value=corona_api.format_number(data.deaths))
        embed.add_field(name="Deaths today",
                        value=corona_api.format_number(data.today_deaths))
        embed.add_field(name="Total recoveries",
                        value=corona_api.format_number(data.recoveries))
        embed.add_field(name="Total critical cases",
                        value=corona_api.format_number(data.critical))

        if not country:
            embed.add_field(name="Last updated",
                            value=corona_api.format_date(data.updated))

        else:
            embed.add_field(name="Cases per million people",
                            value=corona_api.format_number(
                                data.cases_per_million))
            embed.description = "**Country: {}**".format(data.name)

        await ctx.send(embed=embed)
예제 #5
0
    async def _jhucsse(self, country, province):
        """
        This is not a command but is used to get data from the JHU CSSE. 
        Used when we want data for specific provinces.

        Params:
            country:
                The name of the country
            province:
                The name of the province we want data for.
        """

        data = await self.corona.get_jhu_csse_data(
        )  #get all data from the JHU CSSE

        if country.lower() == 'uk':
            country = 'united kingdom'  #corrections

        relevant = next(cp for cp in data if cp.country_name.lower() == country.lower()\
            and str(cp.province_name).lower() == province.lower()) #filter data for the relevant province

        embed = discord.Embed(title="Coronavirus (COVID-19) stats",
                              color=65280)
        embed.set_footer(
            text=
            "These stats are what has been officially confirmed. It is possible that real figures are different."
        )
        embed.description = "**Country: {}**\n**Province: {}**".format(
            relevant.country_name, relevant.province_name)

        embed.add_field(name="Total cases",
                        value=corona_api.format_number(
                            relevant.confirmed_cases))
        embed.add_field(name="Total deaths",
                        value=corona_api.format_number(relevant.deaths))
        embed.add_field(name="Total recoveries",
                        value=corona_api.format_number(relevant.recoveries))
        embed.add_field(
            name="Active cases",
            value=corona_api.format_number(relevant.confirmed_cases -
                                           relevant.deaths -
                                           relevant.recoveries))
        embed.add_field(name="Last updated",
                        value=corona_api.format_date(relevant.updated))
        #this is different from everything else due to the data the API reports, so we cant use a generic embed builder.
        return embed
예제 #6
0
def generate_all_embed(embed, data):
    """
    Generate the embed which is used when getting global data.

    Params:
        embed:
            The discord.Embed we will be editing
        data:
            The data containing the figures and stats.
    """

    embed.add_field(name="Total recoveries",
                    value=corona_api.format_number(data.recoveries))
    embed.add_field(name="Total critical cases",
                    value=corona_api.format_number(data.critical))
    embed.add_field(name="Active cases",
                    value=corona_api.format_number(data.active))
    embed.add_field(name="Last updated",
                    value=corona_api.format_date(data.updated))
예제 #7
0
    async def corovaVirus(self, ctx, country=None):
        if not country:
            data = await self.corona.all()
        else:
            data = await self.corona.get_country_data(country)

        embed = discord.Embed(title='Коровавирус COVID-19', colour=65280)
        embed.add_field(name='Всего случаев: ',
                        value=corona_api.format_number(data.cases))
        embed.add_field(name='Случаев за день: ',
                        value=corona_api.format_number(data.today_cases))
        embed.add_field(name='Всего смертей: ',
                        value=corona_api.format_number(data.deaths))
        embed.add_field(name='Смертей за день: ',
                        value=corona_api.format_number(data.today_deaths))
        embed.add_field(name='Всего вылечившихся: ',
                        value=corona_api.format_number(data.recoveries))

        embed.add_field(name="Последнее обновление: ",
                        value=corona_api.format_date(data.updated),
                        inline=False)

        await ctx.send(embed=embed)