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

问题描述 投票:0回答:2

我见过其他机器人在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)
python python-3.x discord discord.py
2个回答
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
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.