@ commands.has_permissions не проверяет разрешения - PullRequest
0 голосов
/ 28 мая 2020

Итак, в основном то, что я делаю, это пытаюсь написать очень базовую c команду kick and ban для моего бота Discord. Я просмотрел много разных руководств и задавал похожие вопросы, но я просто не могу найти решение.

@bot.command()
@commands.has_permissions(kick_members=True)
async def kick(ctx, user: discord.Member, *, reason=None):
  await ctx.kick(reason=reason)
  await ctx.send(f"{user} has been kicked successfully")

Когда у меня запущен и запущен бот, каждый может выгнать всех остальных, независимо от того, есть ли у них разрешения на исключение участников или нет, даже если я указал это, чтобы проверить, может ли пользователь пнуть людей. Я хочу, чтобы, если у пользователя нет разрешений на удаление участников, они не могли никого выгнать. Я новичок в программировании, и любая помощь приветствуется. Если кто-то захочет проверить остальной код в моей программе, я с радостью опубликую его, но пока я не вижу причин для этого.

1 Ответ

0 голосов
/ 28 мая 2020
await ctx.kick(reason=reason)

Вы пытаетесь сбить контекст. Вместо этого пните члена:

await user.kick(reason=reason)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...