discord.ext.commands.errors.CommandInvokeError:TypeError:ban()得到了一个意外的关键字参数' reason'

时间:2018-03-05 05:13:14

标签: python python-3.x discord discord.py

我见过其他机器人在ban()中使用= reason参数但它并不适合我。我希望有理由出现在Discord的服务器日志中(在禁令列表中)而不是我的。示例代码:

@client.command(pass_context=True)
async def ban(ctx, member: discord.Member, banreason: str):
await client.ban(member, delete_message_days=7, reason=banreason)

2 个答案:

答案 0 :(得分:1)

使用最新版本的client.ban时,

reason没有discord.py参数,请参阅文档:http://discordpy.readthedocs.io/en/latest/api.html#discord.Client.ban

但是,重写分支确实包含reason参数。 http://discordpy.readthedocs.io/en/rewrite/api.html#discord.Guild.ban

答案 1 :(得分:1)

看起来reason参数仅在Discord.py v1.0上受支持。整个库已被重写,这基本上是最新版本。

不幸的是,语法已经发生了很大变化(函数从客户端转移到状态等),但如果你有时间,将机器人重写为1.0将是最好的选择。

Here's相关的Github问题。并here's重写了1.0的API文档。