private async void GetUpdatesAsync() { var parameters = $@"offset={_offset}&allowed_updates={_parameters}"; var updatesJToken = await CustomHttpClient.MakeRequest("getUpdates", parameters); var lastUpdateIdJToken = updatesJToken["result"].Last?["update_id"]; if (lastUpdateIdJToken != null) { var lastUpdateId = int.Parse(lastUpdateIdJToken.ToString()); _offset = lastUpdateId + 1; } OnUpdatesRecieved(updatesJToken); }
private async void MessageHandle(JToken message) { var dictionary = new Dictionary <int, int>(); var chatId = (int)message["chat"]["id"]; var messageText = (string)message["text"]; var messageWords = messageText.Split(); var maxPriority = 0; for (int i = 0; i < _messagesBase.MessagesList.Count; i++) { var currentMessage = _messagesBase.MessagesList[i]; var priority = 0; foreach (var word in messageWords) { if (currentMessage.Contains(word)) { priority++; } } if (maxPriority < priority) { dictionary.Clear(); dictionary.Add(dictionary.Count, i); maxPriority = priority; } if (maxPriority == priority) { dictionary.Add(dictionary.Count, i); } } var resultAnswer = ""; if (dictionary.Count > 0) { var resultIndex = new Random().Next(0, dictionary.Count); resultAnswer = _messagesBase.MessagesList[dictionary[resultIndex] + new Random().Next(0, dictionary.Count - resultIndex)]; } else { resultAnswer = "мне нечего сказать("; } await CustomHttpClient.MakeRequest("sendMessage", $"chat_id={chatId}&text={resultAnswer}"); }