@VladFBR

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

В коде есть список ролей и мне нужно чтобы бот отправлял сообщение с кнопкой, но кнопку чтобы видели только те, у кого есть определённая роль. (chatgpt мне такое сделал, но я удалил чат и не знаю как это сделать теперь)
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Никак, Discord не имеет функции показа разным пользователям разных сообщений в пределах одного чата. Единственное исключение - эфемерные сообщения, которые являются только ответами на действия пользователя, который вызвал команду или нажал на кнопку...

Как вариант, можно сделать отдельный служебный канал для пользователей с нужной ролью, пусть там делают все эти свои действия. Иногда это неплохое решение подобной задачи.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Timurkaaa
нереально, но можно сделать проверку роли с пмощью:
@bot.command()
async def test(ctx):
    role = discord.utils.get(ctx.guild.roles, id=783724505008570389)
    if role not in ctx.author.roles:
        await ctx.send('У вас должна быть соответствующая роль для использования этой команды')
        return


если пишите на dinsnake.py вместо discord.utils.get напишите disnake.utils.get

также можете использовать эфемерные сообщения
image.png?ex=66ddf104&is=66dc9f84&hm=1cffbb422b35bb6bea8c2258e820381aee3f1baf32a57dc04bbe402da05c56bb&=&format=webp&quality=lossless
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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