From 133c8fa8438c6eadb7ba3a2f9c06a770e45090ea Mon Sep 17 00:00:00 2001 From: Whyverum Date: Mon, 23 Dec 2024 22:03:38 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=87=D0=B8=D0=BA=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B?= =?UTF-8?q?=20/start?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BotCode/keyboards/reply_kb/start_kb.py | 2 +- .../routers/commands/user_cmd/start_cmd.py | 10 ++++++---- BotLibrary/analitics/start_info_out.py | 19 ++++++++++--------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/BotCode/keyboards/reply_kb/start_kb.py b/BotCode/keyboards/reply_kb/start_kb.py index 5299e82..f3f7db5 100644 --- a/BotCode/keyboards/reply_kb/start_kb.py +++ b/BotCode/keyboards/reply_kb/start_kb.py @@ -1,4 +1,4 @@ -# BotCode/keyboards/start_kb.py +# BotCode/keyboards/reply_kb/start_kb.py # Создания клавиатуры на команду: /start from aiogram import Router diff --git a/BotCode/routers/commands/user_cmd/start_cmd.py b/BotCode/routers/commands/user_cmd/start_cmd.py index a4d73f5..973e91b 100644 --- a/BotCode/routers/commands/user_cmd/start_cmd.py +++ b/BotCode/routers/commands/user_cmd/start_cmd.py @@ -5,11 +5,13 @@ from aiogram import Router, types, F from aiogram.filters import Command, CommandStart from BotLibrary import * from keyboards.reply_kb.start_kb import get_start_kb +from routers.msg_default import msg_default -# Создание роутера и настройка экспорта модулей -__all__ = ("router", "cmd_start", "log_type",) +# Создание роутера, переменных и настройка экспорта модулей +__all__ = ("router", "cmd_start", "log_type", "description") router = Router(name="start_router") log_type = "Start" +description = "Запустить бота" # Список ключевых слов для команды keywords = ["start", "старт", "запуск", "пуск", "on", "вкл", "с", "s", "ы", @@ -17,7 +19,7 @@ keywords = ["start", "старт", "запуск", "пуск", "on", "вкл", " # Обработчик команды /start -@router.message(Command(*keywords, prefix=BotEdit.prefixs, ignore_case=True)) +@router.message(Command(*keywords, prefix=BotVariables.prefixs, ignore_case=True)) @router.message(F.text.lower().in_(keywords)) @router.message(CommandStart()) async def cmd_start(message: types.Message): @@ -30,7 +32,7 @@ async def cmd_start(message: types.Message): # Активация логгера await cmd_logginger(message, log_type, text) - return text + await msg_default(message) # Проверка на ошибку и ее логирование except Exception as e: diff --git a/BotLibrary/analitics/start_info_out.py b/BotLibrary/analitics/start_info_out.py index 1b8facf..6363b42 100644 --- a/BotLibrary/analitics/start_info_out.py +++ b/BotLibrary/analitics/start_info_out.py @@ -3,12 +3,13 @@ # Логирование стартов бота в bot_start.log from datetime import datetime -from timer import sleep +from colorama import Fore from loguru import logger +from time import sleep -from config import ImportantPath, BotVariables +from ..configs import ProjectPath, default_encod +from ..library.time import TimeVariable from ..library.bots import BotInfo -from ..library.decorator import TextDecorator # Настройка экспорта модулей и логирования __all__ = ("bot_info_out",) @@ -17,14 +18,14 @@ log_type = "Start_INFO" # Функция для получения информации о боте и выводе ее в консоль и файл def bot_info_out(): - bot_time = f"Бот @{BotInfo.username} запущен в {datetime.now().strftime(BotVariables.time_format)}\n" + bot_time = f"Бот @{BotInfo.username} запущен в {datetime.now().strftime(TimeVariable.format)}\n" bot_name = f"Основное имя: {BotInfo.first_name}\n" bot_postname = f" Доп. имя: {BotInfo.last_name}\n" bot_username = f" Юзернейм: @{BotInfo.username}\n" bot_id = f" ID: {BotInfo.id}\n" bot_language = f" Языковой код: {BotInfo.language_code}\n" bot_can_join_groups = f" Может ли вступать в группы: {BotInfo.can_join_groups}\n" - bot_can_read_all_group_messages = f" Чтение всех сообщений: {BotInfo.can_read_all_group_messages}\n" + bot_can_read_all_group_messages = f" Чтение всех сообщений: {BotInfo.can_read_all_group_messages}\n" # Теперь атрибут существует bot_is_premium = f" Является премиум-ботом: {BotInfo.is_premium}\n" bot_added_to_attachment_menu = f" Добавлен в меню вложений: {BotInfo.added_to_attachment_menu}\n" bot_supports_inline_queries = f" Поддерживает инлайн-запросы: {BotInfo.supports_inline_queries}\n" @@ -39,20 +40,20 @@ def bot_info_out(): # Печатаем все данные в консоль с задержкой в 1 секунду sleep(1) - print(TextDecorator.BLUE, bot_all_info, TextDecorator.RESET_DECORATOR) + print(Fore.CYAN + bot_all_info) # Записываем информацию в файл try: - with open(ImportantPath.log_info, 'w', encoding=BotVariables.encoding) as log_file: + with open(ProjectPath.log_info, 'w', encoding=default_encod) as log_file: log_file.write(f"{bot_time}{bot_all_info}") # Создание файла bot_start.log - with open(ImportantPath.log_start, 'a', encoding=BotVariables.encoding) as log_start_file: + with open(ProjectPath.log_start, 'a', encoding=default_encod) as log_start_file: log_start_file.write(f"{bot_time}\n") + return bot_all_info # Проверка на ошибку и ее логирование except Exception as e: text_error = f"Ошибка при получении ID пользователя: {e}" logger.bind(log_type="INFO", user=log_type).error(text_error) - return text_error