python - “命令”对象没有属性“has_permissions”
问题描述
@client.command()
@commands.has_permissions(administrator=True)
async def kick(ctx, member : discord.Member, *, reason=None):
try:
await member.kick(reason=reason)
embed = discord.Embed(colour=maincolour)
embed.title = f"**Member {member.mention} Kicked."
embed.description = f"**Reason** » {reason}.\n**Status** » Successful!"
await ctx.send(embed=embed)
except:
embed = discord.Embed(colour=maincolour)
embed.title = "**Kick not successful."
embed.description = "**Possible Errors:**\n» Insufficient Permissions (Requires Administrator)\n» Error with Bot."
await ctx.send(embed=embed)
在线上
@commands.has_permissions(administrator=True)
错误是'Command' object has no attribute 'has_permissions'
。
如何修复此错误?此代码适用于我的朋友。
解决方案
该has_permissions
属性不在命令下。这是应该如何正确完成的。
from discord.ext.commands import has_permissions, MissingPermissions
@client.command()
@has_permissions(administrator = True)
async def test(ctx):
pass
@test.error
async def test_error(error, ctx):
if isinstance(error, MissingPermissions):
await ctx.send("Looks like you don't have the permissions.")
推荐阅读
- javascript - 无法使用 jquery 从浏览器中过期/删除 cookie
- bash - 在第二列中选择具有特定值的行
- python - SublimeText 3 基于文件路径的构建系统
- python - 未找到带有 Selenium 的 Python 中的 XPATHS
- python-3.x - 将 protobuff 可选字段更改为 oneof
- ios - 打开 UIDocumentPickerViewController 时出错
- apache-kafka - Kafka 2.0 - KafkaConnect 连接器中的多个 Kerberos 主体
- php - 是否应该使用 FreeTDS 驱动程序而不是 MS SQL 驱动程序来实现旧 PHP 和新 SQL Server 之间的兼容性?
- java - 泛型 - 如何定义仅采用实现特定接口的类的方法
- c# - c#MVC ViewModel 没有传递给控制器