Initial commit: TrueConf Chatbot КЛЕВЕР
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
# utils/stats_logger.py
|
||||
import os
|
||||
import csv
|
||||
from datetime import datetime
|
||||
|
||||
def log_menu_stats(user_id: str, main_menu: str, sub_menu: str = ""):
|
||||
"""Записывает действие пользователя в лог статистики динамически в зависимости от среды"""
|
||||
try:
|
||||
# Динамически определяем корень проекта (на один уровень выше папки utils)
|
||||
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
log_dir = os.path.join(base_dir, "logs")
|
||||
os.makedirs(log_dir, exist_ok=True)
|
||||
log_file = os.path.join(log_dir, "menu_stats.csv")
|
||||
|
||||
file_exists = os.path.isfile(log_file)
|
||||
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
with open(log_file, "a", newline="", encoding="utf-8-sig") as f:
|
||||
writer = csv.writer(f, delimiter=";")
|
||||
if not file_exists:
|
||||
writer.writerow(["Timestamp", "User_ID", "Main_Menu", "Sub_Menu"])
|
||||
writer.writerow([timestamp, user_id, main_menu, sub_menu])
|
||||
except Exception as e:
|
||||
print(f"Ошибка записи статистики меню: {e}")
|
||||
Reference in New Issue
Block a user