diff options
Diffstat (limited to '')
| -rw-r--r-- | bot/seasons/evergreen/space.py | 46 | 
1 files changed, 23 insertions, 23 deletions
| diff --git a/bot/seasons/evergreen/space.py b/bot/seasons/evergreen/space.py index cc66f84a..7c62b1a8 100644 --- a/bot/seasons/evergreen/space.py +++ b/bot/seasons/evergreen/space.py @@ -82,12 +82,11 @@ class Space(Cog):          # Do request to NASA API          result = await self.fetch_from_nasa("planetary/apod", params) -        # Create embed from result -        embed = Embed(title=f"Astronomy Picture of the Day - {result['date']}", description=result["explanation"]) -        embed.set_image(url=result["url"]) -        embed.set_footer(text="Powered by NASA API") - -        await ctx.send(embed=embed) +        await ctx.send(embed=await self.create_nasa_embed( +            f"Astronomy Picture of the Day - {result['date']}", +            result["explanation"], +            result["url"] +        ))      @space.command(name="nasa")      async def nasa(self, ctx: Context, *, search_term: Optional[str] = None) -> None: @@ -110,12 +109,11 @@ class Space(Cog):          # Get (random) item from result, that will be shown          item = random.choice(data["collection"]["items"]) -        # Create embed and send it -        embed = Embed(title=item["data"][0]["title"], description=item["data"][0]["description"]) -        embed.set_image(url=item["links"][0]["href"]) -        embed.set_footer(text="Powered by NASA API") - -        await ctx.send(embed=embed) +        await ctx.send(embed=await self.create_nasa_embed( +            item["data"][0]["title"], +            item["data"][0]["description"], +            item["links"][0]["href"] +        ))      @space.command(name="epic")      async def epic(self, ctx: Context, date: Optional[str] = None) -> None: @@ -148,12 +146,9 @@ class Space(Cog):          image_url = f"{NASA_EPIC_BASE_URL}/archive/natural/{year}/{month}/{day}/jpg/{item['image']}.jpg" -        # Create embed, fill and send it -        embed = Embed(title="Earth Image", description=item["caption"]) -        embed.set_image(url=image_url) -        embed.set_footer(text=f"Identifier: {item['identifier']} \u2022 Powered by NASA API") - -        await ctx.send(embed=embed) +        await ctx.send(embed=await self.create_nasa_embed( +            "Earth Image", item["caption"], image_url, f" \u2022 Identifier: {item['identifier']}" +        ))      @space.group(name="mars", invoke_without_command=True)      async def mars(self, @@ -202,11 +197,9 @@ class Space(Cog):          # Get random item from result, generate embed with it and send          item = random.choice(result["photos"]) -        embed = Embed(title=f"{item['rover']['name']}'s {item['camera']['full_name']} Mars Image") -        embed.set_image(url=item["img_src"]) -        embed.set_footer(text="Powered by NASA API") - -        await ctx.send(embed=embed) +        await ctx.send(embed=await self.create_nasa_embed( +            f"{item['rover']['name']}'s {item['camera']['full_name']} Mars Image", "", item["img_src"], +        ))      @mars.command(name="dates", aliases=["d", "date", "rover", "rovers", "r"])      async def dates(self, ctx: Context) -> None: @@ -222,6 +215,13 @@ class Space(Cog):          async with self.http_session.get(url=f"{base}/{endpoint}?{urlencode(params)}") as resp:              return await resp.json() +    async def create_nasa_embed(self, title: str, description: str, image: str, footer: Optional[str] = "") -> Embed: +        """Generate NASA commands embeds. Required: title, description and image URL, footer (addition) is optional.""" +        return Embed( +            title=title, +            description=description +        ).set_image(url=image).set_footer(text="Powered by NASA API" + footer) +  def setup(bot: SeasonalBot) -> None:      """Load Space Cog.""" | 
