From 3c18d552c2c9eb15834b33687915a7b16c98883b Mon Sep 17 00:00:00 2001 From: Parker Date: Sat, 25 Jan 2025 22:58:41 -0600 Subject: reupload --- code/cogs/covid.py | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 code/cogs/covid.py (limited to 'code/cogs/covid.py') diff --git a/code/cogs/covid.py b/code/cogs/covid.py new file mode 100644 index 0000000..bc26432 --- /dev/null +++ b/code/cogs/covid.py @@ -0,0 +1,68 @@ +import discord +from discord.ext import commands, tasks +from discord import app_commands +import requests + +covid_dict = {'total_cases':0, 'total_deaths':0, 'total_recovered':0, 'active_cases':0, + 'critical_cases':0, 'cases_today':0, 'deaths_today':0, 'tests':0} + +class Covid(commands.Cog): + def __init__(self, bot): + self.bot = bot + + async def cog_load(self): + self.update_covid.start() + + @tasks.loop(seconds=300) + async def update_covid(self): + response = requests.get("https://disease.sh/v3/covid-19/all") + + if response.status_code == 200: + data = response.json() + cases = int(data["cases"]) + deaths = int(data["deaths"]) + recovered = int(data["recovered"]) + active = int(data["active"]) + critical = int(data["critical"]) + cases_today = int(data["todayCases"]) + deaths_today = int(data["todayDeaths"]) + tests = int(data["tests"]) + + else: + return + + update_crypto_dict = {'total_cases':cases, 'total_deaths':deaths, + 'total_recovered':recovered, 'active_cases':active, 'critical_cases':critical, + 'cases_today':cases_today, 'deaths_today':deaths_today, 'tests':tests} + + covid_dict.update(update_crypto_dict) + + + @app_commands.command() + async def covid( + self, + interaction: discord.Interaction + ): + "Get current global Covid-19 data" + embed = discord.Embed( + title = "World COVID-19 Data", + description = "Data is updated once every 5 minutes" + ) + embed.add_field(name="Total Cases", value=f"```{covid_dict['total_cases']:,}```", inline=True) + embed.add_field(name="Total Deaths", value=f"```{covid_dict['total_deaths']:,}```", inline=True) + embed.add_field(name="Total Recovered", value=f"```{covid_dict['total_recovered']:,}```", inline=True) + embed.add_field(name="Active Cases", value=f"```{covid_dict['active_cases']:,}```", inline=True) + embed.add_field(name="Critical Cases", value=f"```{covid_dict['critical_cases']:,}```", inline=True) + embed.add_field(name="Cases Today", value=f"```{covid_dict['cases_today']:,}```", inline=True) + embed.add_field(name="Deaths Today", value=f"```{covid_dict['deaths_today']:,}```", inline=True) + embed.add_field(name="Tests", value=f"```{covid_dict['tests']:,}```", inline=True) + + embed.set_footer(text="Information provided from: https://disease.sh/v3/covid-19/all") + file = discord.File("./code/utils/covid.png", filename="covid.png") + embed.set_thumbnail(url="attachment://covid.png") + + await interaction.response.send_message(embed=embed, file=file) + + +async def setup(bot): + await bot.add_cog(Covid(bot)) \ No newline at end of file -- cgit v1.2.3-70-g09d2