cleaned up bot.py seperating it into different files, added formatting ignore rules for key_compiler, modified prestart checks

This commit is contained in:
ctih1 2025-07-23 14:51:57 +03:00
parent f186e079da
commit 92dbc06b26
9 changed files with 311 additions and 264 deletions

View file

@ -27,7 +27,7 @@ RED = f"{ANSI}31m"
GREEN = f"{ANSI}32m"
YELLOW = f"{ANSI}33m"
PURPLE = f"{ANSI}35m"
DEBUG = f"{ANSI}1;30m"
DEBUG = f"{ANSI}90m"
RESET = f"{ANSI}0m"
VERSION_URL = "https://raw.githubusercontent.com/gooberinc/version/main"

View file

@ -35,13 +35,6 @@ NOTICE = """
"""
logging.basicConfig(
level=logging.DEBUG,
format="%(levelname)s: [%(filename)s:%(funcName)s] %(message)s",
datefmt="%d/%m/%Y %H.%M.%S",
stream=sys.stdout,
)
logger = logging.getLogger("kaannos")
@ -61,7 +54,6 @@ class LanguageCollector:
keys: Dict[str, str] = json.load(f)
self.languages[locale] = keys
print(self.languages)
self.find_missing_keys()
def find_missing_keys(self) -> None:

View file

@ -45,16 +45,19 @@ def save_memory(memory):
json.dump(memory, f, indent=4)
def train_markov_model(memory, additional_data=None):
def train_markov_model(memory, additional_data=None) -> markovify.NewlineText | None:
if not memory:
return None
filtered_memory = [line for line in memory if isinstance(line, str)]
if additional_data:
filtered_memory.extend(
line for line in additional_data if isinstance(line, str)
)
if not filtered_memory:
return None
text = "\n".join(filtered_memory)
model = markovify.NewlineText(text, state_size=2)
return model

View file

@ -192,8 +192,10 @@ def check_cpu():
cpu_per_core = psutil.cpu_percent(interval=1, percpu=True) # type: ignore
total_cpu = sum(cpu_per_core) / len(cpu_per_core)
logger.info(k.total_cpu_usage(usage=total_cpu))
if total_cpu > 85:
logger.warning(f"{k.high_avg_cpu(usage=total_cpu)}")
if total_cpu > 95:
logger.error(k.really_high_cpu())
sys.exit(1)
@ -211,12 +213,15 @@ def check_memoryjson():
try:
with open(settings["bot"]["active_memory"], "r", encoding="utf-8") as f:
json.load(f)
except json.JSONDecodeError as e:
logger.error(f"{k.memory_file_corrupted(error=e)}")
logger.warning(f"{k.consider_backup_memory()}")
except UnicodeDecodeError as e:
logger.error(f"{k.memory_file_encoding(error=e)}")
logger.warning(f"{k.consider_backup_memory()}")
except Exception as e:
logger.error(f"{k.error_reading_memory(error=e)}")
except FileNotFoundError: