python - 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)
解决方案
您的代码将所有三个成员作为一个成员传递。尝试将星号移到members
@commands.command()
async def podium(self, ctx, *members : discord.Member = None):
这应该返回提到的成员对象的列表。
推荐阅读
- flutter - 如何用这条曲线制作背景?
- excel - 将一行与另一行进行比较以弹出重复消息,如果仍然存在重复则限制移动到下一行
- ruby-on-rails - Rails 6 ActionController::Base.new.render_to_string
- electron - 如何在 linux 和 window 64bit 中使用 Agora Electron SDK?
- ironpython - 在 IronPython 中,如何获取选中的单选按钮并将按下的按钮等同于文本变量?
- file - Rust:如何从文件中读取十六进制
- python - 转换 keras 模型时,Kaggle GPU 不起作用
- java - 将二进制格式保存到整数列表的问题
- php - 为什么递归静态函数的行为不像预期的那样?
- c# - Wpf Datagrid动态列如何为行中的单元格着色