@Lopkhfydaukfidifitoyih9

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

@bot.slash_command(name='partnership', description='Заключить партнерство. | Пиар менеджеры.')
@commands.has_any_role(1128699829955088495)  # ID роли пиарменеджера
async def pn(ctx, partner: disnake.Member = commands.Param(description="Партнёр."),
             text=commands.Param(description="Текст партнёрства."),
             link=commands.Param(description="Ссылка на сервер партнёра..")):
    blacklist = [788424538656210965,853235519676874772]   # Ваш черный список с ID участников
    # Проверяем, находится ли автор команды в черном списке
    if ctx.author.id in blacklist:
        emoji = '⛔'
        message = f'{emoji} Вы находитесь в черном списке и не можете использовать эту команду.'
        await ctx.send(message)
        return

    if not isinstance(partner, disnake.Member):
        await ctx.response.send_message(
            content="Ошибка: параметр 'partner' должен быть участником сервера.",
            ephemeral=True
        )
        return

    if not isinstance(text, str):
        await ctx.response.send_message(
            content="Ошибка: параметр 'text' должен быть текстом.",
            ephemeral=True
        )
        return

    if not isinstance(link, str):
        await ctx.response.send_message(
            content="Ошибка: параметр 'link' должен быть строкой.",
            ephemeral=True
        )
        return

    emb = disnake.Embed(
        description=f"**Партнёр: {partner}** \n**Описание сервера:** {text}\n**Ссылка:** {link}",
        color=0x2f3236
    )
    emb.set_author(name=f"Партнёрство от {ctx.author.name}")
    emb.set_footer(text="Ссылка на сервер партнёра: " + link)

    channel = bot.get_channel(1128699947148115968)  # Айди канала партнёрств
    await channel.send(embed=emb)

    await ctx.response.send_message(
        content="Партнёрство успешно отправлено!",
        ephemeral=True
    )
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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