@commands.command(name="wanted", aliases=["procurado"], description="Faz com que um usuário mencionado seja colocado em um cartaz de procurado")
@commands.cooldown(1, 2, commands.BucketType.member)
async def wanted(self, ctx, member:discord.Member = None):
if member is None:
member = ctx.author
wanted = Image.open("wanted.png")
asset = ctx.author.avatar_url_as(size = 128)
data = BytesIO(await asset.read())
pfp = Image.open(data)
pfp = pfp.resize((144,144))
wanted.paste(pfp, (48,106))
wanted.save("wanteddata.jpg")
await ctx.send(file = discord.File("wanteddata.jpg"))
wanted.png are in the same folder of the code, when i use the command in console get this error
Command raised an exception: FileNotFoundError: [Errno 2] No such file or directory: 'wanted.png'
Assuming from your comment your project looks like this:
YourProject
├─ main.py
└─ Cogs
├─ fun.py
└─ wanted.png
If you are running your bot from the YourProject
directory like so:
\Some\directories\YourProject> python main.py
The script is trying to access YourProject/wanted.png
not YourProject/Cogs/wanted.png
. You can fix it in 3 ways:
Image.open("/Some/directories/YourProject/Cogs/wanted.png")
YourProject
directory):Image.open("Cogs/wanted.py")
fun.py
file:import os
filepath = os.path.dirname(os.path.abspath(__file__))
Image.open(f"{filepath}/wanted.png")
I recommend using the 3rd option because then you can run your python file from wherever you want.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.