Ограничение выполнение команд, Telegram bot

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


Ответы (1 шт):

Автор решения: Violet
# Ограничение в команде
@bot.message_handler(commands=['start'])
def start(message):
    adm = [123, 456, ...]  # список из id пользователей
    if message.chat.id not in adm:
        bot.send_message(message.chat.id, 'Не дозволено')
    else:
        bot.send_message(message.chat.id, 'Чего изволите сударь?')


# Ограничение выполнение команд start, stop, etc
@bot.message_handler(func=lambda message: message.chat.id not in users_commands, 
                     commands=['start', 'stop', 'etc'])
def some(message):
    bot.send_message(message.chat.id, 'Не дозволено')


# Ограничение доступа к боту по ID
@bot.message_handler(func=lambda message: message.chat.id not in users)
def some(message):
    bot.send_message(message.chat.id, 'Не дозволено общаться с незнакомцами')
→ Ссылка