Как взять изображение, которое прикрепил пользователь и скачать его?

хочу реализовать такую вещь, типо пользователь прикрепляет файл, а бот делает с ним что-то. Можете помочь? Просто я реально не понимаю, как это можно реализовать.

@commands.command(aliases=['brawl'])
    async def бравл(self, ctx):
        if len(ctx.message.attachments) > 0:
            attachment = ctx.message.attachments[0]
        else:
            return
        if attachment.filename.endswith(".jpg") or attachment.filename.endswith(".jpeg") or attachment.filename.endswith(".png") or attachment.filename.endswith(".webp") or attachment.filename.endswith(".gif"):
            attachment.save('download.png')
        ## 
        im = Image.open('download.png')
        font = ImageFont.truetype('roboto-regular.ttf', size=14)
        draw_text = ImageDraw.Draw(im)
        draw_text.text(
                (102, 80),
                text='бравл)',
                font=font,
                fill='#000000') 
        im.save('final_version.png')
        ##
        await ctx.send(f'{ctx.author} ну, держи) ', file=discord.File('final_version.png'))
        ##
        await s(0.1)
        ##
        os.remove('download.png')
        os.remove('final_version.png')

А так-же ошибка:

Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 939, in invoke
    await ctx.command.invoke(ctx)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'Attachment' object has no attribute 'image'

Ответы (0 шт):