Little fixes, add exception handler
This commit is contained in:
@@ -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,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user