【发布时间】:2018-12-31 16:16:51
【问题描述】:
我的代码禁止了一个成员并对他们进行 dms,我在我的服务器上对 3 个不和谐成员进行了测试,剥离了任何角色,只有一个获得了 dm,其余的则没有。
这是错误:
discord.errors.Forbidden: FORBIDDEN (status code: 403): Missing permission...
这是我的代码:
@client.command(pass_context = True)
@has_permissions(ban_members = True)
async def ban(ctx, member : discord.Member, *, content: str = ("10")):
if content == ("10"):
print ("oof")
else:
if member.top_role < ctx.message.author.top_role:
msg = "{} has been banned for {}".format(member, content)
await client.ban(member)
await client.send_message(member, "You have been banned for {}".format(content))
await client.send_message(ctx.message.channel, msg)
else:
msg = "Sorry but you do not have the permissions {} as {} is a higher role than you".format(ctx.message.author.mention)
await client.send_message(ctx.message.channel, msg)
我也再次尝试,它对另一个用户有效,但对另外两个用户仍然无效。
如果发生任何错误,权限错误也会出现,我仍然会在控制台上收到 FORBIDDEN 错误,并且两个成员都没有阻止机器人。
【问题讨论】:
-
哪一行产生了错误?尝试切换
send_message和ban。我不希望您能够向被禁止的成员发送消息。可能是您对机器人没有足够的权限来禁止人员。
标签: python python-3.x discord discord.py