From a35018b26491f23ba5c7ece125902bf6a451384d Mon Sep 17 00:00:00 2001 From: xpamych Date: Sun, 21 May 2023 12:06:14 +0300 Subject: [PATCH] - bot telegram --- hlna_bot.py | 167 ---------------------------------------------------- 1 file changed, 167 deletions(-) delete mode 100755 hlna_bot.py diff --git a/hlna_bot.py b/hlna_bot.py deleted file mode 100755 index 19c2a99..0000000 --- a/hlna_bot.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/env python3 -import errno -import time -import sys -import os -import telebot -from telebot import types -import subprocess -import yaml -import colorama - -import hlna - -list_config = hlna.list_config - - -def start(): - if not os.path.exists(f"{hlna.home_dir}/.config/hlna/bot/hlna_bot"): - key_api = input("Укажите ключ бота\n") - os.chdir(f"{hlna.home_dir}/.config/hlna/") - try: - os.mkdir("bot") - except OSError as e: - if e.errno == errno.EEXIST: - print('Каталог создан') - else: - raise - create_config(key_api) - else: - x = input("Уже есть запомненный ключа api. Запустить его? Y/n \n") - if x == "" or x.lower == 'y': - read_config() - - elif x == "n": - os.remove(f"{hlna.home_dir}/.config/hlna/bot/hlna_bot") - start() - - -def check_status(m): - for i in list_config: - data = hlna.read_yaml(i) - hlna.print_line(data) - x = os.system(f"lsof -w -i :{data['Port']}") - n_srv = data['SessionName'] - if x != 0: - hlna_bot.send_message(m.chat.id, text=f"Сервер {n_srv} не работает 🛑") - elif x == 0: - hlna_bot.send_message(m.chat.id, text=f"Сервер {n_srv} запустился 🟢") - - -def read_config(): - with open(f"{hlna.home_dir}/.config/hlna/bot/hlna_bot", "r") as yamlfile: - data = yaml.load(yamlfile, Loader=yaml.FullLoader) - return data[0] - - -def create_config(key_api): - config_hlna_bot = [ - { - 'key_api': key_api, - } - ] - with open(f"{hlna.home_dir}/.config/hlna/bot/hlna_bot", 'w') as yamlfile: - yaml.dump(config_hlna_bot, yamlfile) - print(colorama.Fore.GREEN + "Конфиг бота создан" + colorama.Style.RESET_ALL) - - -start() - - -data = read_config() -k_api = data['key_api'] -hlna_bot = telebot.TeleBot(f"{k_api}", parse_mode=None) - - -@hlna_bot.message_handler(commands=["start"]) -def m_mainmenu(m): - menu = types.ReplyKeyboardMarkup(resize_keyboard=True) - k_start = types.KeyboardButton("🦖 Старт") - k_stop = types.KeyboardButton("🦇 Выключить") - menu.add(k_start, k_stop) - - k_restart = types.KeyboardButton("🦕 Перезагрузить") - k_update = types.KeyboardButton("🔸 Обновить") - menu.add(k_restart, k_update) - - k_status = types.KeyboardButton("🧾 Статус") - menu.add(k_status) - - k_mods = types.KeyboardButton("⏬ Установка модов") - menu.add(k_mods) - - hlna_bot.send_message(m.chat.id, text="Привет, {0.first_name}! Это панель управления сервером".format(m.from_user), - reply_markup=menu) - - -@hlna_bot.message_handler(content_types=["text"]) -def m_chose(m): - if m.text.strip() == '🦖 Старт': - if list_config == []: - menu_install = types.ReplyKeyboardMarkup(resize_keyboard=True) - k_install = types.KeyboardButton("Установить") - k_back = types.KeyboardButton("Назад") - menu_install.add(k_back, k_install) - hlna_bot.send_message(m.chat.id, text="{0.first_name}, ниодна карта не установлена".format(m.from_user), - reply_markup=menu_install) - hlna_bot.register_next_step_handler(m, m_install) - else: - hlna.read_yaml(list_config[-1], flag=True) - menu_start = types.ReplyKeyboardMarkup(resize_keyboard=True) - for i in list_config: - k_mapname = types.KeyboardButton(i) - menu_start.add(k_mapname) - k_back = types.KeyboardButton("Назад") - menu_start.add(k_back) - hlna_bot.send_message(m.chat.id, text="{0.first_name}, выбери карту".format(m.from_user), reply_markup=menu_start) - elif m.text.strip() == '🧾 Статус': - check_status(m) - elif m.text.strip() == 'Назад': - m_mainmenu(m) - for i in list_config: - if m.text.strip() == f'{i}': - hlna.print_line(f"Старт карты {i}") - hlna.start() - -# @hlna_bot.message_handler(content_types=["text"]) -# def m_mapstart(m): -# hlna.print_line("Старт карты") -# for i in list_config: -# if m.text.strip() == f'{i}': -# hlna.print_line(f"Старт карты {i}") -# hlna.start() - - -def m_install(m): - if m.text.strip() == 'Установить': - hlna_bot.send_message(m.chat.id, subprocess.check_output(hlna.config(), shell=True)) - - -print("Бот запущен") -hlna_bot.polling(none_stop=True, interval=0, timeout=999) - -# subprocess.run(["arkmanager", "start", "--alwaysrestart", "@all"]) -# elif m.text.strip() == '🦇 Выключить': -# subprocess.run(["arkmanager", "stop", "@all"]) -# elif m.text.strip() == '🦕 Перезагрузить': -# subprocess.run(["arkmanager","restart", "--alwaysrestart", "--warn", "@all"]) -# elif (m.text.strip() == '🔸 Обновить'): -# subprocess.run(["arkmanager", "update", "--update-mods", "@all"]) -# -# -# elif (m.text.strip() == '⏬ Установка модов'): -# bot.send_message(m.from_user.id, "Введите id модификации") -# bot.register_next_step_handler(m, mods) -# else: -# pass -# else: -# if m.text.strip() == 'Zxx843Aj': -# th = Thread(target=check, args=(m,)) -# th.start() -# id.append(m.chat.id) -# bot.send_message(m.chat.id, text="{0.first_name} вы авторизованы, нажмите /start для работы с ботом".format(m.from_user)) -# return id -# def mods(m): -# id = m.text.strip() -# subprocess.run(["arkmanager", "installmods", id, "@all"]) -# subprocess.run(["arkmanager", "enablemod", id, "@all"])