discord.py开发禁言命令报错:discord.ext.commands无has_premissions属性
问题解决方案
报错根因
AttributeError: module 'discord.ext.commands' has no attribute 'has_premissions' 是拼写错误导致的:
- 你在装饰器中错误写为
has_premissions,正确拼写为has_permissions,你误将中间的per写为prem,漏了字母r - 额外说明:你已经在代码头部导入了
from discord.ext.commands import has_permissions,无需再加commands.前缀即可直接使用装饰器
修复代码
修改mute命令对应的装饰器即可,推荐直接用已导入的装饰器写法:
@client.command(aliases=['m']) @has_permissions(kick_members=True) # 同时注意权限参数为复数kick_members,你之前写的单数kick_member会导致权限校验失效 async def mute(ctx,member : discord.Member): muted_role = ctx.guild.get_role(905765835791036477) # 后续补充给用户添加muted_role的逻辑即可
如果要保留commands.前缀写法,修正拼写即可:
@client.command(aliases=['m']) @commands.has_permissions(kick_members=True) async def mute(ctx,member : discord.Member): muted_role = ctx.guild.get_role(905765835791036477)
内容的提问来源于stack exchange,提问作者Mixu lol
相关产品推荐
相关产品推荐

