public async void NextStepAsync(Conversation chat, string message) { var type = training[chat.GetId()]; var word = activeWord[chat.GetId()]; var check = chat.CheckWord(type, word, message); var text = ""; if (check) { text = "Правильно!"; } else { text = "Неправильно!"; } text = text + " Следующее слово: "; var newword = chat.GetTrainingWord(type); text = text + newword; activeWord[chat.GetId()] = newword; await botClient.SendTextMessageAsync(chatId : chat.GetId(), text : text); }
public async void DoForStageAsync(AddingState addingState, Conversation chat, string message) { var word = Buffer[chat.GetId()]; var text = ""; switch (addingState) { case AddingState.Russian: word.Russian = message; text = "Введите английское значение слова"; break; case AddingState.English: word.English = message; text = "Введите тематику"; break; case AddingState.Theme: word.Theme = message; text = "Успешно! Слово " + word.English + " добавлено в словарь. "; chat.dictionary.Add(word.Russian, word); Buffer.Remove(chat.GetId()); break; } await SendCommandText(text, chat.GetId()); }
public async void StartProcessAsync(Conversation chat) { Buffer.Add(chat.GetId(), new Word()); var text = "Введите русское значение слова"; await SendCommandText(text, chat.GetId()); }
public void NextStage(string message, Conversation chat) { var currentstate = ChatAdding[chat.GetId()]; ChatAdding[chat.GetId()] = currentstate + 1; if (ChatAdding[chat.GetId()] == AddingState.Finish) { chat.IsAddingInProcess = false; ChatAdding.Remove(chat.GetId()); } }
private async Task SendText(Conversation chat, string text) { await botClient.SendTextMessageAsync( chatId : chat.GetId(), text : text ); }
public void AddCallBack(Conversation chat) { trainingChats.Add(chat.GetId(), chat); this.botClient.OnCallbackQuery -= Bot_Callback; this.botClient.OnCallbackQuery += Bot_Callback; }
public async void ShowDictionary(Conversation chat) { //if(chat.dictionary.) foreach (KeyValuePair <string, Word> el in chat.dictionary) { await SendDictionary(el.Value, chat.GetId()); } }
private async Task SendTextWithKeyBoard(Conversation chat, string text, InlineKeyboardMarkup keyboard) { await botClient.SendTextMessageAsync( chatId : chat.GetId(), text : text, replyMarkup : keyboard ); }
/// <summary> /// Метод проверяет по Id чата, существует ли словарь. /// Если нет, то создаёт новый и добавляет его в коллекцию /// </summary> /// <param name="chat"></param> /// <returns></returns> public async Task InitUserDictionary(Conversation chat) { var chatId = chat.GetId(); if (!userDictionaryList.ContainsKey(chatId)) { var newUserDictionary = new UserDictionary(); userDictionaryList.Add(chatId, newUserDictionary); } await MakeAnswer(chat, chatId); }
private async Task ExecCommand(Conversation chat, string command) { if (parser.IsTextCommand(command)) { var text = parser.GetMessageText(command); await SendText(chat, text); } if (parser.IsButtonCommand(command)) { var keys = parser.GetKeyboard(command); var text = parser.GetInformationalMessage(command); parser.AddCallback(command, chat.GetId()); await SendTextWithKeyBoard(chat, text, keys); } }
public AddingState GetStage(Conversation chat) { return(ChatAdding[chat.GetId()]); }
public void AddFirstState(Conversation chat) { ChatAdding.Add(chat.GetId(), AddingState.Russian); }