Lynxie/lynxie/commands/animals.py
Fluffy-Bean 4e685393de Add Images command
Clean up Animals command
2023-09-08 21:53:33 +01:00

41 lines
1.2 KiB
Python

import requests
from io import BytesIO
import discord
from discord.ext import commands
from lynxie.config import TINYFOX_ANIMALS
from lynxie.utils import error_message
class Animals(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def animal(self, ctx, animal):
animal = animal.lower().strip() or "racc"
if animal not in TINYFOX_ANIMALS:
await ctx.reply(
embed=error_message(
f"That animal doesn't exist! Try one of these:\n"
f"`{', '.join(TINYFOX_ANIMALS)}`"
)
)
return
async with ctx.typing():
request = requests.get(f"https://api.tinyfox.dev/img?animal={animal}&json")
animal_image = BytesIO(request.content)
animal_image.seek(0)
animal_file = discord.File(animal_image, filename="image.png")
embed = discord.Embed(
title=animal.capitalize(),
colour=discord.Colour.orange(),
).set_image(
url="attachment://image.png"
)
await ctx.reply(embed=embed, file=animal_file, mention_author=False)