Я пытаюсь создать команду discord, которая использует изображение, которое отправляет пользователь, и накладывает его на заранее заданное изображение.Я просто не знаю, как заставить это работать.
Моя команда называется «burninate», и я пытаюсь наложить огненное изображение поверх изображения, которое публикует пользователь, но я не знаю, как правильнозаставьте бота использовать изображение, предоставленное пользователем.Я попробовал message.attachments и получил ошибку имени, говоря, что «message» нигде не определено в моем коде, когда явно работают мои другие команды, использующие его.
Вот мой ужасно сломанный код Python ... ЯЯ надеюсь на исправление, которое не требует от меня редактирования всего блока.
@client.command(name='burninate',
description="Post a static image to burn!",)
async def burninate():
burnfile=r"C:\Users\Username\Pictures\fire.png"
providedimage = Image.open (message.attachments)
fire = Image.open (burnfile)
burninate = Image.new("RGBA", providedimage.size)
burninate = Image.alpha_composite(burninate, fire)
burninate.save("burninate.png")
await client.send_file(message.channel, "burninate.png")
Я использую asyncio.Я предоставлю блок кода, который я сделал, который работает.хотя он не использует входные данные от пользователя.
@client.command(pass_context=True)
async def morph(ctx):
folderbase=r"C:\Users\username\Pictures\Cosmic\Babies+Markings\Loga\Base"
foldermarks=r"C:\Users\username\Pictures\Cosmic\Babies+Markings\Loga\Markings"
foldereyes=r"C:\Users\username\Pictures\Cosmic\Babies+Markings\Loga\Eyes"
shading=r"C:\Users\username\Pictures\Cosmic\Babies+Markings\Loga\Shading\Lineart.png"
a=random.choice(os.listdir(folderbase))
a2=random.choice(os.listdir(foldereyes))
a3=random.choice(os.listdir(foldermarks))
#os.open(a, os.O_RDWR)
file1 = folderbase+'\\'+a
file2 = foldereyes+'\\'+a2
file3 = foldermarks+'\\'+a3
file4 = shading
im1 = Image.open(file1)
im2 = Image.open(file2)
im3 = Image.open(file3)
shade = Image.open(file4)
final2 = Image.new("RGBA", im1.size)
final2 = Image.alpha_composite(final2, im2)
final2 = Image.alpha_composite(final2, im1)
final2 = Image.alpha_composite(final2, im3)
final2 = Image.alpha_composite(final2, shade)
final2.save("morph.png")
await client.send_file(ctx.message.channel, "morph.png")
Это всего лишь четыре слоя, создающие случайного инопланетного динозавра