fix: исправление флоу добавления каналов после workspaces

This commit is contained in:
Artem Tsyrulnikov
2025-12-13 22:36:33 +03:00
parent af32e2a507
commit 3cb3da4dbe
16 changed files with 526 additions and 143 deletions

View File

@@ -9,4 +9,5 @@ from . import ( # noqa: E402, F401
creative_commands,
my_chat_member,
start_with_login,
target_channel_commands,
)

View File

@@ -17,17 +17,34 @@ async def cmd_new_creative(message: Message) -> None:
return
usecase = deps.get_usecase()
await usecase.start_creative_creation(telegram_id=message.from_user.id, chat_id=message.chat.id)
await usecase.tg_create_creative_1(telegram_id=message.from_user.id, chat_id=message.chat.id)
@telegram_callback_router.callback_query(F.data.startswith('cc_ch:'))
@telegram_callback_router.callback_query(F.data.startswith('tg_create_creative_2:'))
async def callback_creative_workspace(callback: CallbackQuery) -> None:
if not callback.from_user or not callback.message or not callback.data:
log.error('Failed to get required data from callback query')
return
usecase = deps.get_usecase()
await usecase.tg_create_creative_2(
telegram_id=callback.from_user.id,
chat_id=callback.message.chat.id,
callback_data=callback.data,
message_id=callback.message.message_id,
)
await callback.answer()
@telegram_callback_router.callback_query(F.data.startswith('tg_create_creative_3:'))
async def callback_creative_channel(callback: CallbackQuery) -> None:
if not callback.from_user or not callback.message or not callback.data:
log.error('Failed to get required data from callback query')
return
usecase = deps.get_usecase()
await usecase.handle_creative_callback(
await usecase.tg_create_creative_3(
telegram_id=callback.from_user.id,
chat_id=callback.message.chat.id,
callback_data=callback.data,
@@ -43,7 +60,7 @@ async def handle_text_message(message: Message) -> None:
return
usecase = deps.get_usecase()
await usecase.handle_creative_text_input(
await usecase.tg_create_creative_4(
telegram_id=message.from_user.id,
chat_id=message.chat.id,
text=message.text,

View File

@@ -79,6 +79,6 @@ async def on_bot_added_to_chat(event: ChatMemberUpdated) -> None:
bot_permissions=bot_permissions,
)
try:
await usecase.connect_target_chan(input=connect_input)
await usecase.tg_add_target_chan_1(input=connect_input)
except HTTPException as e:
log.error(e)

View File

@@ -0,0 +1,26 @@
import logging
from aiogram import F
from aiogram.types import CallbackQuery
from src import deps
from src.controller.telegram_callback import telegram_callback_router
log = logging.getLogger(__name__)
@telegram_callback_router.callback_query(F.data.startswith('tg_add_target_chan_2:'))
async def callback_target_channel_workspace(callback: CallbackQuery) -> None:
if not callback.from_user or not callback.message or not callback.data:
log.error('Failed to get required data from callback query')
return
usecase = deps.get_usecase()
await usecase.tg_add_target_chan_2(
telegram_id=callback.from_user.id,
chat_id=callback.message.chat.id,
callback_data=callback.data,
message_id=callback.message.message_id,
)
await callback.answer()