好吧,所以我有一个机器人,我在写的每个命令上@commands.has_permissions(administrator = True)
,但是现在我想在dm中执行一些命令,但是当我这样做时,该机器人会抛出一个错误并说我不这样做。没有管理员权限。我可以将行更改为@commands.is_owner()
,但是只有我能做到,所以我尝试同时使用两者,但仍然对我有用。我到处搜寻,但一无所获。所以我的问题是...我怎样告诉机器人响应管理员 或我自己(所有者)?
这是我停止的测试功能。
@bot.command(name="ping")
@commands.has_permissions(administrator = True)
async def ping(ctx):
await ctx.channel.send("pong")
答案 0 :(得分:0)
@bot.command(name="ping")
async def ping(ctx):
user = ctx.author
if await bot.is_owner(user):
await ctx.channel.send("pong")
return
roles = user.roles
for role in roles:
if role.Permissions.administrator:
await ctx.channel.send("pong")
return