首页 > 解决方案 > Dicord.py 我如何准确地接收 3 个成员并将它们放入一个变量中?它得到 MemberNotFound

问题描述

所以基本上现在发生的事情是当我传入 3 个参数并准确提及时,它说所有 3 个都找不到。我有其他命令只使用一次提及,并且可以毫无问题地找到用户。这是错误:discord.ext.commands.errors.MemberNotFound:找不到成员“<@!137608530323701760> <@!842433014692577332> <@!235088799074484224>”。这是有问题的代码:

@commands.command()
    async def podium(self, ctx, *, members : discord.Member = None):
        if len(members) == 3:
            i=0
            for member in members:
                member[i] = members
                i += 1


        podiumimg = PIL.Image.open('./cogs/ImageFolder/podium.png')

        size = 350, 350
        mask = PIL.Image.new('L', size, 0)
        draw = ImageDraw.Draw(mask)
        draw.ellipse((0, 0) + size, fill=255)

        pfp1 = member[0].avatar_url
        pfp2 = member[1].avatar_url
        pfp3 = member[2].avatar_url

        img1 = PIL.Image.open(requests.get(pfp1, stream=True).raw)
        img2 = PIL.Image.open(requests.get(pfp2, stream=True).raw)
        img3 = PIL.Image.open(requests.get(pfp3, stream=True).raw)

        pfp1 = img1.resize(size)
        pfp2 = img2.resize(size)
        pfp3 = img3.resize(size)
        mask = mask.resize(size)

        bg_img = podiumimg.copy()
        bg_img.paste(pfp1, (280, 76), mask)

标签: pythondiscordargumentsdiscord.pypython-imaging-library

解决方案


您的代码将所有三个成员作为一个成员传递。尝试将星号移到members

@commands.command()
async def podium(self, ctx, *members : discord.Member = None):

这应该返回提到的成员对象的列表。


推荐阅读