我想检索我发送的图像的 URL,在
discord.file
的参数中有一个 ctx.channel.send()
。但是,我不知道如何获取发送的图像。
@bot.command()
async def testing(ctx, user: discord.Member):
async with aiohttp.ClientSession() as session:
endpoint = str(user.avatar_url)
async with session.get(str(endpoint)) as end:
pfp = await end.read()
with io.BytesIO(pfp) as file:
msg = await ctx.channel.send(file=discord.File(file, filename=f"pfp.png"))
#i want image url of this discord.file
在文档中显示
discord.Message
(消息对象)具有属性attachments。该属性给出了discord.Attachment
s的列表。
您可以通过
message.attachments[i]
访问单个附件,其中 message
是消息对象,i 是索引。
discord.Attachment
具有属性url
。这给出了 URL 的类型字符串。
@bot.command()
async def testing(ctx, user: discord.Member):
async with aiohttp.ClientSession() as session:
endpoint = str(user.avatar_url)
async with session.get(str(endpoint)) as end:
pfp = await end.read()
with io.BytesIO(pfp) as file:
msg = await ctx.channel.send(file=discord.File(file, filename=f"pfp.png"))
msg_image_url = msg.attachments[0].url # The URL of the image
如果未启用 Intents.message_content,除非提到机器人或消息是直接消息,否则这将始终是一个空列表。
如果此附件附加到的消息被删除,那么这将是 404.