-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathinit.py
53 lines (51 loc) · 3 KB
/
init.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
from common.services.event_service import EventService
from common.utils.logging_tools import get_logger
from components.announce.announce_command_handler import AnnounceCommandHandler
from components.announce.announce_component import AnnounceComponent
from components.core.core_command_handler import CoreCommandHandler
from components.core.core_component import CoreComponent
from components.core.job_log_service import JobLogService
from components.core.texts import texts as core_texts
from components.doforme.doforme_command_handler import DoForMeCommandHandler
from components.doforme.doforme_component import DoForMeComponent
from components.doforme.doforme_migration_handler import DoForMeMigrationHandler
from components.doforme.task_service import TaskService
from components.doforme.texts import texts as doforme_texts
from components.user.texts import texts as user_texts
from components.feedback.texts import texts as feedback_texts
from components.announce.texts import texts as announce_texts
from components.feedback.feedback_command_handler import FeedbackCommandHandler
from components.feedback.feedback_component import FeedbackComponent
from components.feedback.feedback_service import FeedbackService
from components.user.user_command_handler import UserCommandHandler
from components.user.user_component import UserComponent
from common.common_bot import CommonBot
from common.services.telegram_service import TelegramService
from components.user.user_migration_handler import UserMigrationHandler
from components.user.user_service import UserService
from texts import bot_name
def create_bot(admin_id: int):
logger = get_logger()
event_queue = {}
event_service = EventService(logger, event_queue)
user_service = UserService()
telegram_service = TelegramService(user_service, logger, event_service, [UserMigrationHandler(), DoForMeMigrationHandler()])
core_command_handler = CoreCommandHandler(admin_id, event_service, core_texts, telegram_service)
user_command_handler = UserCommandHandler(admin_id, event_service, user_texts, telegram_service, bot_name, user_service)
feedback_service = FeedbackService()
feedback_command_handler = FeedbackCommandHandler(admin_id, event_service, feedback_texts, telegram_service, feedback_service)
announce_command_handler = AnnounceCommandHandler(admin_id, event_service, announce_texts, telegram_service, user_service)
task_service = TaskService()
job_log_service = JobLogService()
doforme_command_handler = DoForMeCommandHandler(
admin_id, event_service, doforme_texts, telegram_service, bot_name, task_service, user_service, feedback_service, 5,
job_log_service)
components = {
'core': CoreComponent(core_command_handler),
'feedback': FeedbackComponent(feedback_command_handler),
'user': UserComponent(user_command_handler),
'announce': AnnounceComponent(announce_command_handler),
'doforme': DoForMeComponent(doforme_command_handler),
}
bot = CommonBot(components, logger)
return bot