Init project
This commit is contained in:
26
birthday_pool_bot/telegram_bot/fabric.py
Normal file
26
birthday_pool_bot/telegram_bot/fabric.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from birthday_pool_bot.repositories import RepositoriesContainer
|
||||
|
||||
from .base import BaseTelegramBotService
|
||||
from .enums import TelegramBotMethodEnum
|
||||
from .polling import TelegramBotPollingService
|
||||
from .settings import TelegramBotSettings
|
||||
from .webhook import TelegramBotWebhookService
|
||||
|
||||
|
||||
def get_telegram_bot_service(
|
||||
settings: TelegramBotSettings,
|
||||
repositories_container: RepositoriesContainer,
|
||||
) -> BaseTelegramBotService:
|
||||
match settings.method:
|
||||
case TelegramBotMethodEnum.POLLING:
|
||||
return TelegramBotPollingService(
|
||||
settings=settings,
|
||||
repositories_container=repositories_container,
|
||||
)
|
||||
case TelegramBotMethodEnum.WEBHOOK:
|
||||
return TelegramBotWebhookService(
|
||||
settings=settings,
|
||||
repositories_container=repositories_container,
|
||||
)
|
||||
case _:
|
||||
raise ValueError(f"Cannot create telegram bot with method '{settings.method.value}'")
|
||||
Reference in New Issue
Block a user