51 lines
2.1 KiB
Python
51 lines
2.1 KiB
Python
|
|
import telebot as tb
|
|||
|
|
import os
|
|||
|
|
|
|||
|
|
api_key = '7901893687:AAGKRhisrTwKIX8oLIsDsZ5T7HPbyXV9FMY'
|
|||
|
|
# Список разрешенных пользователей (добавьте свои ID)
|
|||
|
|
ALLOWED_USERS = [1199424310, 1798467387, 1905354346] # Замените на реальные ID пользователей
|
|||
|
|
|
|||
|
|
bot = tb.TeleBot(api_key)
|
|||
|
|
|
|||
|
|
def is_user_allowed(user_id):
|
|||
|
|
"""Проверяет, есть ли пользователь в списке разрешенных"""
|
|||
|
|
return user_id in ALLOWED_USERS
|
|||
|
|
|
|||
|
|
@bot.message_handler(commands=['start'])
|
|||
|
|
def start_command(message):
|
|||
|
|
if not is_user_allowed(message.from_user.id):
|
|||
|
|
bot.reply_to(message, "⛔ Доступ запрещен")
|
|||
|
|
return
|
|||
|
|
|
|||
|
|
bot.reply_to(message, 'Hi, my name is Cheburek!')
|
|||
|
|
|
|||
|
|
@bot.message_handler(commands=['info'])
|
|||
|
|
def info_command(message):
|
|||
|
|
# Проверка доступа
|
|||
|
|
if not is_user_allowed(message.from_user.id):
|
|||
|
|
bot.reply_to(message, "⛔ У вас нет прав на выполнение этой команды")
|
|||
|
|
return
|
|||
|
|
|
|||
|
|
# Разделяем сообщение на команду и аргументы
|
|||
|
|
parts = message.text.split()
|
|||
|
|
|
|||
|
|
# Проверяем, есть ли аргументы
|
|||
|
|
if len(parts) > 1:
|
|||
|
|
# Получаем все аргументы после команды
|
|||
|
|
arguments = parts[1:]
|
|||
|
|
|
|||
|
|
try:
|
|||
|
|
# Формируем строку с аргументами для bash скрипта
|
|||
|
|
args_str = ' '.join(arguments)
|
|||
|
|
a = os.system(f'bash /root/bot/get.sh -t {args_str}')
|
|||
|
|
|
|||
|
|
bot.reply_to(message, f"Команда принята с аргументами: {', '.join(arguments)}")
|
|||
|
|
except Exception as e:
|
|||
|
|
bot.reply_to(message, f"Произошла ошибка при выполнении команды: {e}")
|
|||
|
|
else:
|
|||
|
|
bot.reply_to(message, "Вы запустили команду, но не указали аргументы. Использование: /info <vmid1> [<vmid2> ...]")
|
|||
|
|
|
|||
|
|
if __name__ == '__main__':
|
|||
|
|
print("Бот запущен...")
|
|||
|
|
bot.polling()
|