代码停止执行 Ban discord bot, python

Posted

技术标签:

【中文标题】代码停止执行 Ban discord bot, python【英文标题】:Code stops executing Ban discord bot, python 【发布时间】:2021-11-04 12:33:11 【问题描述】:

我有一个代码:

@commands.has_permissions(ban_members=True)
@Client.command()
async def Ban (ctx, member:discord.User=None, reason="Nie podano"):
    if member == None or member == ctx.message.author:
        await ctx.channel.send("Nie możesz zbanować sam siebie")
        return
    message = f"Zostałeś zbanowany na serwerze ctx.guild.name\nPowód: reason"
    await member.send(message)
    await ctx.channel.purge(limit = 1)
    await ctx.channel.send(f"member Został zbanowany!\nPowód: reason")
    print('a')
    await member.ban(reason = reason)
    print('b')

一切都完成了,但是在控制台中显示字母“a”后,脚本停止运行

【问题讨论】:

【参考方案1】:

如果您有任何错误,我看不出您的代码有任何问题,请提及它们,或者如果您有错误处理程序,请尝试通过评论将其删除,然后尝试获取错误。

await ctx.guild.ban(member, reason=reason)

我做了很多 discord.py,但从未遇到过代码停止的问题。最后(我认为这不是问题)您可能需要检查您拥有的 python 版本和 discord.py 所需的版本。

【讨论】:

不幸的是,代码更改后没有任何变化。我卸载并安装了库,问题仍然存在。 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。 cdn.discordapp.com/attachments/830859187378454559/… 检查图像。我不完全明白您为什么会遇到代码停止之类的问题。 我也不知道,从0开始写函数的时候也出现了错误 是的,如果您能说出您遇到了什么错误,那将非常有帮助。由于我现在正在打电话,而且我的机器人没有成员意图。我试过user.ban() 但它给了我用户对象没有属性禁令的错误。因此,下面的人可能是正确的,您需要成员的意图。但是我向您展示的图像是在没有成员意图的情况下进行的【参考方案2】:

您必须检查您的机器人是否有会员意图和足够的权限来禁止会员。

要添加成员意图,请执行以下操作:

intents = discord.Intents.default()
intents.members = True

在实例化机器人之前,然后:

bot = commands.Bot(command_prefix='...', intents=intents)

为了更好地赋予您的机器人禁令权限,通过权限使其成为管理员。

【讨论】:

不幸的是,我有一个错误

以上是关于代码停止执行 Ban discord bot, python的主要内容,如果未能解决你的问题,请参考以下文章

Python discord bot“找不到命令'ban'”错误

Discord.js mod bot ban 命令不起作用

Bot 没有 KICK/BAN 命令的权限

Discord bot命令随机停止与python一起工作?

Discord Bot JS:编辑来自先前斜杠命令交互的回复

C# Discord Bot 编码:创建一个发送垃圾邮件的命令,然后用另一个命令停止