public ShowWellKnownWordsFlow( ChatRoom chat, UsersWordsService usersWordsService, LeafWellKnownWordsUpdateHook wellKnownWordsUpdateHook) { Chat = chat; _usersWordsService = usersWordsService; _wellKnownWordsUpdateHook = wellKnownWordsUpdateHook; }
private async Task Initialize() { //Initialize user var user = await _userService.GetUserOrNull(_userInfo); if (user == null) { var addUserTask = _userService.AddUserFromTelegram(_userInfo); await ChatIo.SendMessageAsync(_settings.WelcomeMessage); user = await addUserTask; Botlog.WriteInfo($"New user {user.TelegramNick}", user.TelegramId.ToString(), true); } Chat = new ChatRoom(ChatIo, user); // Initialize update hooks _translationSelectedUpdateHook = new TranslationSelectedUpdateHook(_addWordsService, Chat); _wellKnownWordsUpdateHook = new LeafWellKnownWordsUpdateHook(Chat); ChatIo.AddUpdateHook(_translationSelectedUpdateHook); ChatIo.AddUpdateHook(_wellKnownWordsUpdateHook); // Initialize command handlers _addWordCommandHandler = new AddBotCommandHandler(_addWordsService, _translationSelectedUpdateHook); ChatIo.CommandHandlers = new[] { HelpBotCommandHandler.Instance, new StatsBotCommandHandler(_settings.ExamSettings), new LearnBotCommandHandler(_userService, _usersWordsService, _settings.ExamSettings), _addWordCommandHandler, new ShowLearningSetsBotCommandHandler(_learningSetService), new ShowWellLearnedWordsCommandHandler(_usersWordsService, _wellKnownWordsUpdateHook), new SelectLearningSet( _learningSetService, _localDictionaryService, _userService, _usersWordsService, _addWordsService), new StartBotCommandHandler(ShowMainMenu), new ChlangBotCommandHandler(_userService) }; }
public ShowWellLearnedWordsCommandHandler(UsersWordsService userWordsService, LeafWellKnownWordsUpdateHook wellKnownWordsUpdateHook) { _userWordsService = userWordsService; _wellKnownWordsUpdateHook = wellKnownWordsUpdateHook; }