Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x TypeError:kick()接受1个位置参数,但给出了2个位置参数_Python 3.x_Discord.py - Fatal编程技术网

Python 3.x TypeError:kick()接受1个位置参数,但给出了2个位置参数

Python 3.x TypeError:kick()接受1个位置参数,但给出了2个位置参数,python-3.x,discord.py,Python 3.x,Discord.py,我最近一直面临这个问题,我不知道为什么。当我试图踢任何人时,它根本不起作用!ban命令也是如此。这只是给了我一个错误。我甚至把所有的烫发都放在了我的机器人上,并给它一个mod角色,这里有什么问题 代码如下: @client.command() @commands.has_permissions(kick_members=True) async def kick(ctx, member: discord.Member, *, reason=None): if reason == None:

我最近一直面临这个问题,我不知道为什么。当我试图踢任何人时,它根本不起作用!ban命令也是如此。这只是给了我一个错误。我甚至把所有的烫发都放在了我的机器人上,并给它一个mod角色,这里有什么问题

代码如下:

@client.command()
@commands.has_permissions(kick_members=True)
async def kick(ctx, member: discord.Member, *, reason=None):
  if reason == None:
    reason = "No reason provided."
  try:
    await member.send(f"It seems you have been kicked out of {ctx.guild.name} by {ctx.author.name}.\nPossible reason : {reason}")
  except:
    await member.kick(member)
    await ctx.send(f'User {member} has been kick. Possible reason : {reason}')
#
@client.command()
@commands.has_permissions(ban_members=True)
async def ban(ctx, member: discord.Member, *, reason=None):
  if reason == None:
    reason = "No reason provided."
  try:
    await member.send(f"It seems you have been banned from {ctx.guild.name} by {ctx.author.name}.\nPossible reason : {reason}")
  except:
    await member.kick(member)
    await ctx.send(f'User {member} has been banned. Reason : {reason}')

如果可以,请回答我的问题,甚至尝试一下。。。提前谢谢

I
Member.kick
,无需传递
Member
参数

wait member.kick()
我还看到,在ban命令中,不是实际上禁止成员,而是简单地踢它,以正确地“禁止”他/她使用:

wait member.ban()

I
Member.kick
,无需传递
Member
参数

wait member.kick()
我还看到,在ban命令中,不是实际上禁止成员,而是简单地踢它,以正确地“禁止”他/她使用:

wait member.ban()

我没有完全理解你。。。还有,是的,我只是在这里复制粘贴的kick命令,所以我忘了写ban。但是你想说什么“不需要通过成员arg”。如果我不通过ctx区域的arg,bot将如何禁止?我不是说,我的意思是你不必通过
Member
进入
Member.kick
,它已经定义好了,所以
Member.kick(Member)
不起作用,但是
Member.kick()
将只执行以下操作:
成员。kick(reason=)
和禁令相同。这是一次不和谐的合作。我没有完全理解你。。。还有,是的,我只是在这里复制粘贴的kick命令,所以我忘了写ban。但是你想说什么“不需要通过成员arg”。如果我不通过ctx区域的arg,bot将如何禁止?我不是说,我的意思是你不必通过
Member
进入
Member.kick
,它已经定义好了,所以
Member.kick(Member)
不起作用,但是
Member.kick()
将只执行以下操作:
成员。kick(reason=)
和禁令相同。这是一次不和谐的合作。