Обработчик команды /start

This commit is contained in:
Whyverum
2024-12-23 22:03:38 +07:00
parent 9e229bc691
commit 133c8fa843
3 changed files with 17 additions and 14 deletions

View File

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

View File

@@ -5,11 +5,13 @@ from aiogram import Router, types, F
from aiogram.filters import Command, CommandStart from aiogram.filters import Command, CommandStart
from BotLibrary import * from BotLibrary import *
from keyboards.reply_kb.start_kb import get_start_kb 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") router = Router(name="start_router")
log_type = "Start" log_type = "Start"
description = "Запустить бота"
# Список ключевых слов для команды # Список ключевых слов для команды
keywords = ["start", "старт", "запуск", "пуск", "on", "вкл", "с", "s", "ы", keywords = ["start", "старт", "запуск", "пуск", "on", "вкл", "с", "s", "ы",
@@ -17,7 +19,7 @@ keywords = ["start", "старт", "запуск", "пуск", "on", "вкл", "
# Обработчик команды /start # Обработчик команды /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(F.text.lower().in_(keywords))
@router.message(CommandStart()) @router.message(CommandStart())
async def cmd_start(message: types.Message): 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) await cmd_logginger(message, log_type, text)
return text await msg_default(message)
# Проверка на ошибку и ее логирование # Проверка на ошибку и ее логирование
except Exception as e: except Exception as e:

View File

@@ -3,12 +3,13 @@
# Логирование стартов бота в bot_start.log # Логирование стартов бота в bot_start.log
from datetime import datetime from datetime import datetime
from timer import sleep from colorama import Fore
from loguru import logger 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.bots import BotInfo
from ..library.decorator import TextDecorator
# Настройка экспорта модулей и логирования # Настройка экспорта модулей и логирования
__all__ = ("bot_info_out",) __all__ = ("bot_info_out",)
@@ -17,14 +18,14 @@ log_type = "Start_INFO"
# Функция для получения информации о боте и выводе ее в консоль и файл # Функция для получения информации о боте и выводе ее в консоль и файл
def bot_info_out(): 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_name = f"Основное имя: {BotInfo.first_name}\n"
bot_postname = f" Доп. имя: {BotInfo.last_name}\n" bot_postname = f" Доп. имя: {BotInfo.last_name}\n"
bot_username = f" Юзернейм: @{BotInfo.username}\n" bot_username = f" Юзернейм: @{BotInfo.username}\n"
bot_id = f" ID: {BotInfo.id}\n" bot_id = f" ID: {BotInfo.id}\n"
bot_language = f" Языковой код: {BotInfo.language_code}\n" bot_language = f" Языковой код: {BotInfo.language_code}\n"
bot_can_join_groups = f" Может ли вступать в группы: {BotInfo.can_join_groups}\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_is_premium = f" Является премиум-ботом: {BotInfo.is_premium}\n"
bot_added_to_attachment_menu = f" Добавлен в меню вложений: {BotInfo.added_to_attachment_menu}\n" bot_added_to_attachment_menu = f" Добавлен в меню вложений: {BotInfo.added_to_attachment_menu}\n"
bot_supports_inline_queries = f" Поддерживает инлайн-запросы: {BotInfo.supports_inline_queries}\n" bot_supports_inline_queries = f" Поддерживает инлайн-запросы: {BotInfo.supports_inline_queries}\n"
@@ -39,20 +40,20 @@ def bot_info_out():
# Печатаем все данные в консоль с задержкой в 1 секунду # Печатаем все данные в консоль с задержкой в 1 секунду
sleep(1) sleep(1)
print(TextDecorator.BLUE, bot_all_info, TextDecorator.RESET_DECORATOR) print(Fore.CYAN + bot_all_info)
# Записываем информацию в файл # Записываем информацию в файл
try: 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}") log_file.write(f"{bot_time}{bot_all_info}")
# Создание файла bot_start.log # Создание файла 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") log_start_file.write(f"{bot_time}\n")
return bot_all_info return bot_all_info
# Проверка на ошибку и ее логирование # Проверка на ошибку и ее логирование
except Exception as e: except Exception as e:
text_error = f"Ошибка при получении ID пользователя: {e}" text_error = f"Ошибка при получении ID пользователя: {e}"
logger.bind(log_type="INFO", user=log_type).error(text_error) logger.bind(log_type="INFO", user=log_type).error(text_error)
return text_error