def dm_or_has_permissions_and_capability(**permissions):
def predicate(ctx):
if ctx.message.channel.is_private:
return True
elif not has_permissions_check(ctx, permissions):
raise errors.MissingPermissions
elif not has_capability_check(ctx, permissions.keys()):
raise errors.MissingCapability(permissions.keys())
else:
return True
return commands.check(predicate)
评论列表
文章目录