Python 如何禁止/踢discord.py中的多个用户?

Python 如何禁止/踢discord.py中的多个用户?,python,discord.py,Python,Discord.py,因此,我想知道是否有任何方法可以使用一个命令禁止/禁止来自discord服务器的多个用户?可能有2名成员,甚至10名成员,有什么办法可以做到这一点吗?如果有人知道答案,请帮助我,我将永远感谢你善良的陌生人 正如评论中指出的那样,您不能在discord.py中使用一个命令来踢或禁止多个用户。但是,您始终可以编写自己的函数来处理这个问题 如果不想将此命令放在主文件中,也可以将其移动到其他文件中。可以在discord.Member类型转换参数中使用命令.Greedy。正如“贪婪”这个名字所暗示的,它

因此,我想知道是否有任何方法可以使用一个命令禁止/禁止来自discord服务器的多个用户?可能有2名成员,甚至10名成员,有什么办法可以做到这一点吗?如果有人知道答案,请帮助我,我将永远感谢你善良的陌生人

正如评论中指出的那样,您不能在discord.py中使用一个命令来踢或禁止多个用户。但是,您始终可以编写自己的函数来处理这个问题



如果不想将此命令放在主文件中,也可以将其移动到其他文件中。

可以在
discord.Member
类型转换参数中使用
命令.Greedy
。正如“贪婪”这个名字所暗示的,它接受特定类型转换的所有参数,并将它们转换为参数列表

贪婪的英文定义:对某物强烈而自私的欲望。(暗示你想要一切,不留任何东西,掠夺一切)

然后,您可以使用
for
循环逐个踢/禁止它们

async def ban(ctx, members: commands.Greedy[discord.Member]=None, *, reason=None):
     if not members: 
         return await ctx.send('provide at least one member argument....')
     if not reason:
         reason = "my server my reasoning"
     for member in members: # members is a list that greedy has created
         try:
           await member.ban(reason=reason)
         except discord.Forbidden:
           pass
以下是它将如何工作的示例:

参考资料


我认为现在没有一个命令可以接受multiple作为输入,因为现在wait for循环将适用于您的案例谢谢您的清理!!!谢谢,我一定会试试的!
async def ban(ctx, members: commands.Greedy[discord.Member]=None, *, reason=None):
     if not members: 
         return await ctx.send('provide at least one member argument....')
     if not reason:
         reason = "my server my reasoning"
     for member in members: # members is a list that greedy has created
         try:
           await member.ban(reason=reason)
         except discord.Forbidden:
           pass