@maks_petrov9

Как сделать, чтобы бот discord.py писал, что у него нету прав?

Пишу бота для дискорда, для теста создал команду которая выдает роль пользователю, и к ней добавил ивент "command_error".

По задумке, бот будет просто писать что у него нету прав, но увы, он это не пишет.

Код:

@Bot.command()
async def rtest(ctx, *, member = discord.Member, role = discord.Role):
	roll = discord.utils.get(ctx.guild.roles, id = role.id)

	await member.add_roles(roll)
	await ctx.send("+")

@rtest.error
async def rtest_error(ctx, error):
    if isinstance(error, commands.BotMissingPermissions):
        await ctx.send("I don't have sufficient permissions!")
    else:
        pass
  • Вопрос задан
  • 341 просмотр
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Ну для начала
async def rtest(ctx, *, member = discord.Member, role = discord.Role):

Не "=" а ":". Это type hint, а не значение по умолчанию.
discord.py сам преобразует указанные параметры в объекты Member и Role.
Так что по идее достаточно будет написать
await member.add_roles(role)
  await ctx.send("+")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы