代码停止执行 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'”错误