public async Task <QuestionResult> Pass(ChatRoom chat, UserWordModel word, UserWordModel[] examList)
        {
            var originTranslation = word.RuTranslations.GetRandomItemOrNull();

            if (string.IsNullOrWhiteSpace(originTranslation.Transcription) || originTranslation.Transcription != "")
            {
                return(QuestionResult.Impossible);
            }

            var variants = examList.Where(e => e.RuTranslations.All(t => t.Transcription != originTranslation.Transcription))
                           .SelectMany(e => e.TextTranslations)
                           .Take(5)
                           .Append(originTranslation.Word)
                           .Shuffle()
                           .ToList();


            var msg = QuestionMarkups.TranscriptionTemplate(originTranslation.Transcription, chat.Texts.ChooseWhichWordHasThisTranscription);
            await chat.SendMarkdownMessageAsync(msg, InlineButtons.CreateVariants(variants));

            var choice = await chat.TryWaitInlineIntKeyboardInput();

            if (choice == null)
            {
                return(QuestionResult.RetryThisQuestion);
            }

            if (word.TextTranslations.Contains(variants[choice.Value]))
            {
                return(QuestionResult.Passed(chat.Texts));
            }
            return(QuestionResult.Failed(chat.Texts));
        }