Задать вопрос
@TanderOFF

Не работают команды, если пытаюсь упомянуть пользователя, как решить?

Здраствуйте ! Не работают все команды с указанием пользователей (пример)
!чс <@id?>

Вот ещё один пример команды:
@client.command(aliases = ['black', 'чс', 'Чс', 'ЧС'])
@commands.has_permissions(administrator=True)
async def __blacklist(ctx, member: discord.Member = None, cost: int = None):

    if member is None:
        await ctx.send(f"**{ctx.author.mention}**, укажите пользователя")
        return
    if cost is None:
        print('3')
        await ctx.message.delete()
        await ctx.send(f"Формат отправки: ```<@пользователь> [1 - Добавить | 0 - Снять]```")
        return




    if cost == 1:
        print('1')

        query = "UPDATE users SET blacklist = $1 WHERE id = $2"
        cursor.execute(query, (cost, member.id))
        connection.commit()
        nodonat = discord.Embed(description =f'Администратор {ctx.author.mention} добавил {member.mention} в чёрный список бота', color=0x61e788)
        nodonat.set_thumbnail(url=ctx.author.avatar_url)
        nodonat.set_author(name='  Чёрный список')
        await ctx.channel.send(embed = nodonat)


    if cost == 0:
        print('1')
        query = "UPDATE users SET blacklist = $1 WHERE id = $2"
        cursor.execute(query, (cost, member.id))
        connection.commit()
        nodonat = discord.Embed(description =f'Администратор {ctx.author.mention} снял блокировку с пользователя {member.mention}', color=0x61e788)
        nodonat.set_thumbnail(url=ctx.author.avatar_url)
        nodonat.set_author(name='  Чёрный список')
        await ctx.channel.send(embed = nodonat)


        await ctx.message.delete()

Код полностью рабочий если поменять
await client.process_commands(message) на await client.process_commands(ctx)
но из за некоторых проблем мне нужно оставить message а не ctx .
Так вот , при вводе команды !чс выполняется
if member is None:
await ctx.send(f"**{ctx.author.mention}**, укажите пользователя")

как только указываю пользователя , код дальше уже не выполняется . Можно ли это как то исправить ?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы