Origin #2

Merged
Whyverum merged 35 commits from origin into master 2024-12-23 18:17:17 +03:00
3 changed files with 17 additions and 14 deletions
Showing only changes of commit 133c8fa843 - Show all commits

View File

@@ -1,4 +1,4 @@
# BotCode/keyboards/start_kb.py
# BotCode/keyboards/reply_kb/start_kb.py
# Создания клавиатуры на команду: /start
from aiogram import Router

View File

@@ -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:

View File

@@ -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