Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 Discord.py禁止不在我的服务器中的成员_Python 3.x_Discord_Discord.py - Fatal编程技术网

Python 3.x Discord.py禁止不在我的服务器中的成员

Python 3.x Discord.py禁止不在我的服务器中的成员,python-3.x,discord,discord.py,Python 3.x,Discord,Discord.py,我与许多合作的服务器合作,共享反突袭禁令。通常我会得到一个用户ID列表和一个禁止的原因。然后使用dyno-bot来禁止它们,因为dyno-bot可以禁止不在服务器中的成员。但现在我正在向我的机器人添加一个ban日志数据库,我希望能够禁止不在我的服务器中的成员 @client.command() @commands.has_权限(ban_members=True) 异步定义禁止(ctx,成员:discord.member,*,reason=None): 新颜色=东西 十六进制颜色=东西 如果原因=

我与许多合作的服务器合作,共享反突袭禁令。通常我会得到一个用户ID列表和一个禁止的原因。然后使用dyno-bot来禁止它们,因为dyno-bot可以禁止不在服务器中的成员。但现在我正在向我的机器人添加一个ban日志数据库,我希望能够禁止不在我的服务器中的成员

@client.command()
@commands.has_权限(ban_members=True)
异步定义禁止(ctx,成员:discord.member,*,reason=None):
新颜色=东西
十六进制颜色=东西
如果原因==无:
embed=discord.embed(title=f“Woah{ctx.author.name},请确保提供原因!”,color=int(十六进制颜色,16))
等待ctx.send(嵌入=嵌入)
其他:
dmban=(f“您因{reason}而被禁止进入{ctx.guild.name}”)
embed=discord.embed(title=f“{member.name}因{reason}”而被禁止进入{ctx.guild.name}”,color=int(十六进制颜色,16))
embed.add_字段(name=f):报纸:{reason},value=f“用户id:{member.id}”,inline=True)
embed.add_字段(name=“User joined:”,value=member.joined_at,inline=True)
inlul=client.get\u通道(通道id)
now=datetime.now()
格式化的\u date=now.strftime(“%Y-%m-%d%H:%m:%S”)
db=sqlite3.connect('main.sqlite')
cursor=db.cursor()
sql=(“插入banlog(mod_name,mod_id,reason,datetime,ban_name,ban_id)值(?,,,,,,,?))
val=(ctx.author.name,ctx.author.id,原因,格式化日期,member.name,member.id)
cursor.execute(sql,val)
db.commit()
cursor.close()
db.close()
等待成员发送(dmban)
等待公会。禁令(discord.Object(id=member\u id),reason=reason)
等待inlul.send(嵌入=嵌入)
我尝试使用了
wait guild.ban(discord.Object(id=member\u id)
,这是我在github页面上找到的关于通过user\u id使用它来禁止的。但对我来说,它不会禁止用户,但会将禁令添加到数据库中。我不确定是否为member\u id设置了var。

尝试这样做:

将命令更改为将用户id作为args,然后使用此命令查找并禁止该用户

user = await bot.fetch_user(int(args))
    await ctx.guild.ban(user)