Little fixes, add exception handler

This commit is contained in:
2026-01-24 21:55:27 +03:00
parent 7758a3cf62
commit 239dd05992
14 changed files with 244 additions and 52 deletions

View File

@@ -1,11 +1,11 @@
import uuid
from aiogram import types
from aiogram import Bot, types
from aiogram.enums import ParseMode
from aiogram.utils.keyboard import InlineKeyboardBuilder, ReplyKeyboardBuilder
from pydantic_filters import PagePagination
from birthday_pool_bot.dto import BankEnum, User
from birthday_pool_bot.dto import BankEnum, Pool, Subscription, User
from birthday_pool_bot.repositories.repositories import (
PoolsRepository,
SubscriptionsRepository,
@@ -17,12 +17,14 @@ from .callback_data import (
MenuCallbackData,
NewSubscriptionCallbackData,
NewSubscriptionConfirmCallbackData,
NotifyNewPoolCallbackData,
PoolActionEnum,
PoolCallbackData,
PoolsCallbackData,
PoolsBackCallbackData,
SubscriptionActionEnum,
SubscriptionCallbackData,
SubscribeToNewPoolAnswerEnum,
SubscriptionsCallbackData,
)
from .exceptions import FlowInternalError
@@ -759,3 +761,44 @@ async def ask_new_subscription_confirmation(
parse_mode=ParseMode.MARKDOWN,
reply_markup=reply_markup,
)
async def notify_user_about_new_subscription_pool(
subscription: Subscription,
user: User,
pool: Pool,
pool_owner: User,
bot: Bot,
):
if user.telegram_id is None:
return
text = (
f"Создан новый сбор для {subscription.name}\n\n"
"Собирает пользователь: **\n\n"
"Сбор денег происходит на:\n"
f"_Телефон_: {pool.payment_data.phone}\n"
f"анк_: {pool.payment_data.bank}\n\n"
)
keyboard = InlineKeyboardBuilder()
keyboard.button(
text="Подписаться",
callback_data=NotifyNewPoolCallbackData(
action=SubscribeToNewPoolAnswerEnum.YES,
).pack(),
)
keyboard.button(
text="Закрыть",
callback_data=NotifyNewPoolCallbackData(
action=SubscribeToNewPoolAnswerEnum.NO,
).pack()
)
keyboard.adjust(2)
reply_markup = keyboard.as_markup()
await bot.send_message(
chat_id=user.telegram_id,
text=text,
parse_mode=ParseMode.MARKDOWN,
reply_markup=reply_markup,
)