feat: /new_creative tg_bot
This commit is contained in:
@@ -3,6 +3,9 @@ import typing
|
||||
from dataclasses import dataclass
|
||||
from uuid import UUID
|
||||
|
||||
if typing.TYPE_CHECKING:
|
||||
from aiogram.types import InlineKeyboardButton
|
||||
|
||||
from src import domain
|
||||
|
||||
from .analytics.get_creatives_analytics import get_creatives_analytics
|
||||
@@ -13,6 +16,9 @@ from .creative.create_creative import create_creative
|
||||
from .creative.delete_creative import delete_creative
|
||||
from .creative.get_creative import get_creative
|
||||
from .creative.get_creatives import get_creatives
|
||||
from .creative.handle_creative_callback import handle_creative_callback
|
||||
from .creative.handle_creative_text_input import handle_creative_text_input
|
||||
from .creative.start_creative_creation import start_creative_creation
|
||||
from .creative.update_creative import update_creative
|
||||
from .external_channel.create_external_channel import create_external_channel
|
||||
from .external_channel.delete_external_channel import delete_external_channel
|
||||
@@ -33,6 +39,7 @@ from .target_channel.disconnect_target_chan_by_tg_id import disconnect_target_ch
|
||||
from .target_channel.get_user_target_chans import get_user_target_chans
|
||||
from .target_channel.update_target_chan_permissions import update_target_chan_permissions
|
||||
from .telegram_login import telegram_login
|
||||
from .telegram_start import telegram_start
|
||||
from .validate_login_token import validate_login_token
|
||||
from .views.fetch_views_manually import fetch_views_manually
|
||||
from .views.get_views_history import get_views_history
|
||||
@@ -43,7 +50,7 @@ from .views.update_views_manually import update_views_manually
|
||||
class Database(typing.Protocol):
|
||||
def transaction(self) -> typing.AsyncContextManager[None]: ...
|
||||
|
||||
async def get_user(self, *, user_id: UUID | None = None, telegram_id: int | None = None) -> domain.User | None: ...
|
||||
async def get_user(self, user_id: UUID | None = None, telegram_id: int | None = None) -> domain.User | None: ...
|
||||
|
||||
async def create_user(self, user: domain.User) -> domain.User: ...
|
||||
|
||||
@@ -156,12 +163,26 @@ class Database(typing.Protocol):
|
||||
|
||||
async def get_active_placements_with_urls(self) -> list[domain.Placement]: ... # Для worker
|
||||
|
||||
async def get_telegram_state(self, telegram_id: int) -> domain.TelegramState | None: ...
|
||||
|
||||
async def set_telegram_state(
|
||||
self, telegram_id: int, state: domain.TelegramStateEnum, context: dict[str, typing.Any]
|
||||
) -> domain.TelegramState: ...
|
||||
|
||||
async def clear_telegram_state(self, telegram_id: int) -> None: ...
|
||||
|
||||
|
||||
class TelegramBotWriter(typing.Protocol):
|
||||
async def send_message(self, text: str, chat_id: int) -> None: ...
|
||||
|
||||
async def send_message_with_button(self, text: str, chat_id: int, button_text: str, button_url: str) -> None: ...
|
||||
|
||||
async def send_message_with_inline_keyboard(
|
||||
self, text: str, chat_id: int, buttons: list[list['InlineKeyboardButton']]
|
||||
) -> None: ...
|
||||
|
||||
async def edit_message_reply_markup(self, chat_id: int, message_id: int) -> None: ...
|
||||
|
||||
async def get_chat_member(self, chat_id: int, user_id: int) -> dict[str, typing.Any]: ...
|
||||
|
||||
async def create_chat_invite_link(self, chat_id: int, requires_approval: bool = False) -> str: ...
|
||||
@@ -184,6 +205,7 @@ class Usecase:
|
||||
|
||||
validate_login_token = validate_login_token
|
||||
telegram_login = telegram_login
|
||||
telegram_start = telegram_start
|
||||
get_me = get_me
|
||||
connect_target_chan = connect_target_chan
|
||||
get_user_target_chans = get_user_target_chans
|
||||
@@ -200,6 +222,9 @@ class Usecase:
|
||||
create_creative = create_creative
|
||||
update_creative = update_creative
|
||||
delete_creative = delete_creative
|
||||
start_creative_creation = start_creative_creation
|
||||
handle_creative_callback = handle_creative_callback
|
||||
handle_creative_text_input = handle_creative_text_input
|
||||
get_placements = get_placements
|
||||
get_placement = get_placement
|
||||
create_placement = create_placement
|
||||
|
||||
Reference in New Issue
Block a user