protected async override Task<TelegramBotReply> HandleMessageAsync(TelegramBot.TelegramBot bot, Message m, MessageHandlerType type) { var preferences = PreferenceRegistry.GetUserPreferencesForUser(m.From); var klassenLijst = await WindesheimRoosterConvertor.GetKlassenLijst(); if (!m.HasArguments) { if (preferences.RoosterFor != null) return Message(m, AddingKlasFailed("Je hebt al een klas opgegeven.\n\rOm deze aan te passen, typ: '/klas [klasnaam]'")); else return Message(m, AddingKlasFailed("Geef je klas op zoals deze op https://roosters.windesheim.nl/ staat, bijvoorbeeld: '/klas ICTM1a'")); } else { var klasStr = string.Join("", m.Arguments).ToLower(); foreach (Klas k in klassenLijst) if (k.Name.ToLower() == klasStr) { if (preferences.RoosterFor != null) { if (preferences.RoosterFor == k) return Message(m, $"Je bent al gekoppeld aan de klas {k.Bold()}", userMarkup: true); var roosterMessageFlow = new AddRoosterFlow(preferences, k); m.From.MessageFlow = new MessageFlow(m.From, new FlowObject { Handler = roosterMessageFlow }); return roosterMessageFlow.DefaultReply(m); } else { PreferenceRegistry.GetUserPreferencesForUser(m.From).RoosterFor = k; return Message(m, $"Je bent gekoppeld aan klas: {k.Name}"); } } return Message(m, AddingKlasFailed($"De klas {string.Join(" ", m.Arguments)} kon ik niet vinden.")); } }
protected async override Task<TelegramBotReply> HandleMessageAsync(TelegramBot.TelegramBot bot, Message m, MessageHandlerType type) { var docent = PreferenceRegistry.GetRoosterForUser(m.From); if (!m.HasArguments) { if (docent != null) return Message(m, "Je hebt al een docentcode opgegeven.\n\rOm deze aan te passen, typ: '/docent [docentcode]'"); else return Message(m, "Geef je docentcode op zoals deze op https://roosters.windesheim.nl/ staat, bijvoorbeeld: '/docent EES01'"); } else { var docentStr = string.Join("", m.Arguments).ToLower(); foreach (Docent d in await WindesheimRoosterConvertor.GetDocentenLijst()) if (d.Name.ToLower() == docentStr) { var preferences = PreferenceRegistry.GetUserPreferencesForUser(m.From); if (preferences.RoosterFor != null) { if(preferences.RoosterFor == d) return Message(m, $"Je bent al gekoppeld aan de docent {d.Bold()}", userMarkup: true); var roosterMessageFlow = new AddRoosterFlow(preferences, d); m.From.MessageFlow = new MessageFlow(m.From, new FlowObject { Handler = roosterMessageFlow }); return roosterMessageFlow.DefaultReply(m); } else { preferences.RoosterFor = d; return Message(m, $"Je bent gekoppeld aan de docent: {d.Bold()}"); } } return Message(m, $"De docentcode {string.Join(" ", m.Arguments)} kon ik niet vinden."); } }