Допуск по юзернейму в telebot

Пишу удаленное выполнение некоторых функций на ПК через тг бота. Нужно разрешить выполнение команд определенному пользователю. В коде есть попытка реализовать это (не бейте), но всегда выдаёт else.

import os
import telebot
import tempfile
import pyscreenshot as ImageGrab


API_TOKEN = 'тут токен'

bot = telebot.TeleBot(API_TOKEN)

@bot.message_handler(commands=['start'])                                   
def send_welcome(message):
    markup = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True) 
    markup.add("кнопок")
    markup.add("здесь")
    markup.add("нет")
    bot.send_message(message.chat.id, '?', reply_markup=markup)

@bot.message_handler(regexp='выключить')
def echo_message(message):
    if message.from_user.username == "мой юзернейм":               # Повторюсь: не бейте
        bot.send_message(message.chat.id, 'Выключаю...')
        os.system("shutdown -s -t 0")
    else:
        bot.send_message(message.chat.id, 'нет')   


@bot.message_handler(regexp='получить скриншот')         # Тут никакой проверки не пытался вставить
def echo_message(message):
    path = tempfile.gettempdir() + 'screenshot.png'
    screenshot = ImageGrab.grab()
    screenshot.save(path, 'PNG')
    bot.send_photo(message.chat.id, open(path, 'rb'))

bot.infinity_polling()

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

Автор решения: Student_py

Я бы использовал обработчик текста и message.chat.id в качестве проверки:

@bot.message_handler(content_types=['text']  
def func(message):  
    if message.text == "Выключить:->" and message.chat.id == <уникальный chatid>:       
         def comp_shutdown(message):  
            bot.send_message(message.chat.id, 'Выключаю...')        
            os.system("shutdown -s -t 0")  
         comp_shutdown(message) 
→ Ссылка