public override AnswerItem Reply(MessageItem mItem) { var answerItem = new AnswerItem { Message = GetCommandIconUnicode() }; try { if (string.IsNullOrWhiteSpace(mItem.TextOnly) || NextCmd == mItem.TextOnly) { var learnUnit = ProcessLearn(mItem); answerItem = ProcessNext(answerItem, learnUnit); } else if (mItem.TextOnly.StartsWith(EditCommand.EditCmd) || mItem.TextOnly.Contains(ImportCommand.SeparatorChar.ToString())) { answerItem = EditCommand.Reply(mItem); } else { answerItem = ProcessAnswer(answerItem, mItem); } } catch (Exception ex) { answerItem.Message += Environment.NewLine + ex.Message; } return(answerItem); }
public override AnswerItem ProcessAnswer(AnswerItem previousAnswerItem, MessageItem mItem) { var checkResult = _studyProvider.AnswerWord(mItem.ChatId, mItem.TextOnly); previousAnswerItem.Picture = checkResult.WordStatistic.CardAll.ToGenerateImageResult(checkResult.Picture); previousAnswerItem.Message = (checkResult.Success ? "✅ " : "⛔️ ") + checkResult.WordStatistic; previousAnswerItem.Markup = GetLearnMarkup(checkResult.WordStatistic.Id); return(previousAnswerItem); }
public override AnswerItem ProcessNext(AnswerItem previousAnswerItem, LearnUnit lUnit) { var buttons = new List <InlineKeyboardButton[]>(); foreach (var option in lUnit.Options) { var answer = string.Join("", option.Take(MaxAnswerLength)); buttons.Add(new [] { new InlineKeyboardButton { Text = answer, CallbackData = answer } }); } previousAnswerItem.Markup = new InlineKeyboardMarkup(buttons); previousAnswerItem.Picture = lUnit.Picture; return(previousAnswerItem); }
public abstract AnswerItem ProcessNext(AnswerItem previousAnswerItem, LearnUnit lUnit);
public abstract AnswerItem ProcessAnswer(AnswerItem previousAnswerItem, MessageItem mItem);