@typical_user10

Как сделать доступ по id?

Подскажите, пожалуйста. Как можно реализовать доступ к определенной команде по id пользователя?

Спасибо.
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
@UberPool
Приведу пример из документации:
def check_if_it_is_me(ctx):
    return ctx.message.author.id == 85309593344815104 #id человека 

@bot.command()
@commands.check(check_if_it_is_me) #проверка от того ли человека пришла команда
async def only_for_me(ctx):
    #делаете что-то

То что вам нужно.

Также вы можете проверять есть ли у человека роль для выполнения команды:

@bot.command()
@commands.has_any_role('Moder','admin', 492212595072434186) 
async def command(ctx):
    #и делаете что-то
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Ternick
@Ternick
Смотря как и какие команды вы хотите разделить.
Можно сделать два типа пользователя. Администратор и обычный юзер и соответственно сделать условие, если пользователь администратор, разрешить ему использовать все команды в ином случае разрешить использовать ограниченный круг команд.
Чтобы такое провернуть вам нужно сохранять к себе всех администраторов и при каждом запросе команды смотреть может ли пользователь её исполнить. Примерно то же можно сделать с несколькими группами юзеров.
Ответ написан
@AruxGame
Как в DISCORD такое сделать не знаю, пишу ботов на телеграмм но попробуй переделать под DISCORD!

Вот код:
@bot.message_handler(commands=['admins'])
def admin(message):
	if message.chat.id == 123456789: # Вместо 123456789 напиши свой ID, только не ставь кавычки!
		bot.send_message(message.chat.id, 'Вы в Админ-Панели!')

	else:
		bot.send_message(message.chat.id, 'Нет ДОСТУПА Обратитесь к Администрации!')


Вместо 123456789 напиши свой ID, только не ставь кавычки!
Ответ написан
Ваш ответ на вопрос

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

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