First commit

This commit is contained in:
2026-01-23 04:45:55 +07:00
commit 0b251c5967
118 changed files with 9580 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
from typing import Union
from aiogram.types import (
FSInputFile,
CallbackQuery,
Message,
ReplyKeyboardMarkup,
InlineKeyboardMarkup
)
from aiogram.utils.keyboard import ReplyKeyboardBuilder, InlineKeyboardBuilder
# Настройка экспорта в модули
__all__ = ('msg', 'msg_photo', 'markups',)
def markups(markup: Union[
InlineKeyboardBuilder,
ReplyKeyboardBuilder,
InlineKeyboardMarkup,
ReplyKeyboardMarkup,
None] = None, ) -> None:
"""Получение маркапа"""
reply_markup: Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, None] = None
if markup:
if isinstance(markup, InlineKeyboardBuilder):
reply_markup = markup.as_markup()
elif isinstance(markup, ReplyKeyboardBuilder):
reply_markup = markup.as_markup(resize_keyboard=True)
elif isinstance(markup, (InlineKeyboardMarkup, ReplyKeyboardMarkup)):
reply_markup = markup
return reply_markup
async def msg(
message: Message | CallbackQuery,
text: str = "Сообщение отправлено!",
markup: Union[
InlineKeyboardBuilder,
ReplyKeyboardBuilder,
InlineKeyboardMarkup,
ReplyKeyboardMarkup,
None,
] = None,
) -> None:
"""
Шаблон для отправки текстового сообщения или ответа на callback-запрос.
Args:
message (Message | CallbackQuery): Сообщение или callback-запрос.
text (str): Текст сообщения.
markup (Union[InlineKeyboardBuilder, ReplyKeyboardBuilder, InlineKeyboardMarkup, ReplyKeyboardMarkup, None]):
Клавиатура для сообщения. Может быть билдера или готовый объект.
"""
if isinstance(message, Message):
await message.reply(text=text, reply_markup=markups(markup))
else:
await message.message.reply(text=text, reply_markup=markups(markup))
async def msg_photo(
message: Message | CallbackQuery,
file: str = "assets/default.jpg",
text: str = "Сообщение отправлено!",
markup: Union[
InlineKeyboardBuilder,
ReplyKeyboardBuilder,
InlineKeyboardMarkup,
ReplyKeyboardMarkup,
None,
] = None,
) -> None:
"""
Шаблон для отправки фотографии с подписью или ответа на callback-запрос.
Args:
message (Message | CallbackQuery): Сообщение или callback-запрос.
file (str): Путь к файлу фотографии.
text (str): Подпись к фото.
markup (Union[InlineKeyboardBuilder, ReplyKeyboardBuilder, InlineKeyboardMarkup, ReplyKeyboardMarkup, None]):
Клавиатура для сообщения. Может быть билдера или готовый объект.
"""
if isinstance(message, Message):
await message.reply_photo(photo=FSInputFile(file), caption=text, reply_markup=markups(markup))
else:
await message.message.reply_photo(photo=FSInputFile(file), caption=text, reply_markup=markups(markup))