добавлена функция проверки статуса серверов

This commit is contained in:
Евгений Храмов 2023-03-09 15:37:03 +03:00
parent 935c268d74
commit ca1623fa75

@ -1,16 +1,18 @@
#!/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
hlna.print_line(list_config)
def start():
if not os.path.exists(f"{hlna.home_dir}/.config/hlna/bot/hlna_bot"):
@ -35,6 +37,18 @@ def start():
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)
@ -53,9 +67,11 @@ def create_config(key_api):
print(colorama.Fore.GREEN + "Конфиг бота создан" + colorama.Style.RESET_ALL)
return k_api
start()
data = read_config()
start()
data = read_config()
k_api = data['key_api']
hlna_bot = telebot.TeleBot(f"{k_api}", parse_mode=None)
@ -102,20 +118,8 @@ def m_chose(m):
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() == '🧾 Статус'):
for i in list_config:
data = hlna.read_yaml(i)
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} не работает 🛑")
while x != 0:
time.sleep(5)
x = os.system("lsof -w -i :7778")
hlna_bot.send_message(m.chat.id, text="Сервер запустился 🟢".format(
m.from_user))
# elif x == 0:
# time.sleep(30)
# pass
check_status(m)
elif m.text.strip() == 'Назад':
m_start(m)
elif m.text.strip() == 'TheIsland':
@ -127,12 +131,9 @@ def m_install(m):
hlna_bot.send_message(m.chat.id, subprocess.check_output(hlna.config(), shell=True))
print("Bot started")
print("Бот запущен")
hlna_bot.polling(none_stop=True, interval=0, timeout=999)
# print("Start")
#
# subprocess.run(["arkmanager", "start", "--alwaysrestart", "@all"])
# elif m.text.strip() == '🦇 Выключить':
# subprocess.run(["arkmanager", "stop", "@all"])
@ -158,27 +159,3 @@ hlna_bot.polling(none_stop=True, interval=0, timeout=999)
# id = m.text.strip()
# subprocess.run(["arkmanager", "installmods", id, "@all"])
# subprocess.run(["arkmanager", "enablemod", id, "@all"])
# def check(m):
#
# while True:
# x = os.system("lsof -w -i :7777")
# if x!=0:
# bot.send_message(m.chat.id, text="Сервер не работает 🛑".format(
# m.from_user))
# bot.send_message(-1001585320535,text="Сервер не работает 🛑".format(
# m.from_user),reply_markup=types.ReplyKeyboardRemove())
#
# while x!=0:
# time.sleep(5)
# x = os.system("lsof -w -i :7778")
# bot.send_message(m.chat.id, text="Сервер запустился 🟢".format(
# m.from_user))
# bot.send_message(-1001585320535,text="Сервер запустился 🟢".format(
# m.from_user))
#
# elif x == 0:
# time.sleep(30)
# pass