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);
        }
Example #2
0
        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());
        }
Example #3
0
        public async void StartProcessAsync(Conversation chat)
        {
            Buffer.Add(chat.GetId(), new Word());

            var text = "Введите русское значение слова";

            await SendCommandText(text, chat.GetId());
        }
Example #4
0
        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());
            }
        }
Example #5
0
 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;
        }
Example #7
0
 public async void ShowDictionary(Conversation chat)
 {
     //if(chat.dictionary.)
     foreach (KeyValuePair <string, Word> el in chat.dictionary)
     {
         await SendDictionary(el.Value, chat.GetId());
     }
 }
Example #8
0
 private async Task SendTextWithKeyBoard(Conversation chat, string text, InlineKeyboardMarkup keyboard)
 {
     await botClient.SendTextMessageAsync(
         chatId : chat.GetId(),
         text : text,
         replyMarkup : keyboard
         );
 }
Example #9
0
        /// <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);
        }
Example #10
0
        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);
            }
        }
Example #11
0
 public AddingState GetStage(Conversation chat)
 {
     return(ChatAdding[chat.GetId()]);
 }
Example #12
0
 public void AddFirstState(Conversation chat)
 {
     ChatAdding.Add(chat.GetId(), AddingState.Russian);
 }