如何在discord.py中的嵌入消息中设置图像

问题描述 投票:0回答:1

在过去的两个小时里我一直在做这个。所以,我真的需要帮助。这是我的Folder Structure

此代码位于 main.py 文件中。下面首先是我遇到问题的代码

@client.event
async def on_member_join(member):

    # Getting channel id.
    welcome = client.get_channel(int(Welcome_Channel))

    # Selecting image
    Image_Folder_Path = os.path.join(os.path.dirname(__file__), 'Assets', 'Welcome Images')

    Image_File = [f for f in os.listdir(Image_Folder_Path) if f.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp', '.webp'))]

    Random_Image = random.choice(Image_File)

    Image_Url = f'attachment://{Random_Image}'

    # Sending a welcome message when someone joins the server.
    embed = discord.Embed(
        title = f'Welcome to the Server, **{member.name}!** 🎉',
        description = f'We are excited to have you here. \nEnjoy your stay in **{member.guild.name}**!',
        color = discord.Color.dark_embed()
    )
    embed.add_field(
        name = '__What to do next?__',
        value = f'● Example 1. \n● Example 2.',
        inline = False
    )
    embed.set_image(url = Image_Url)
    embed.set_thumbnail(url = member.avatar.url)
    embed.set_footer(text = f'Total members: {len(member.guild.members)}')

    await welcome.send(embed = embed, file = discord.File(os.path.join(Image_Folder_Path, Random_Image), filename = Random_Image))

我想从我的电脑上的本地文件夹中设置随机图像。我想要的嵌入消息看起来像这样 Expected result

这就是我嵌入的样子 Unexpected result

我尝试观看一些 YouTube 视频,也查看了不和谐文档,但每次我都得到相同的结果。所以请帮我解决这个问题。也很抱歉,如果问题无法理解,我不习惯在这里提问。

python discord discord.py
1个回答
0
投票

File
构造函数中的文件名和URL中的文件名必须匹配。它还需要是字母数字。

示例:

f = discord.File("some_file_path", filename="image.png")

e = discord.Embed()
e.set_image(url="attachment://image.png")

await messagable.send(file=f, embed=e)
© www.soinside.com 2019 - 2024. All rights reserved.