public static void VkSendVoiceRecognizedMessage(string accessToken, RMessagesData.RCmdsListCollect.RCommandsItem rCommandItem) { try { using (WebClient wc = new WebClient()) { var voiceUrl = rCommandItem.ItemConversations.VkCheckVoiceMessage(); if (string.IsNullOrWhiteSpace(voiceUrl)) { string message = $"Голосовое сообщение не было распознано! Пустая ссылка аудиосообщения! {voiceUrl}"; SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); return; } var audioArray = wc.DownloadData(voiceUrl); //var audioArray = File.ReadAllBytes("speech.ogg"); var text = SiteUtils.RecognizeTextFromAudio(audioArray).Trim(); if (string.IsNullOrWhiteSpace(text)) { string message = $"Голосовое сообщение не было распознано! Пустой текст распознанного аудиосообщения!"; SiteUtils.SendMessage(accessToken, rCommandItem, message); LogCore.Log(rCommandItem.Message, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); return; } SiteUtils.SendMessage(accessToken, rCommandItem, text); LogCore.Log(text, JsonConvert.SerializeObject(rCommandItem), EnumData.LogTypeCommand.CMessage, EnumData.LogSourceCommand.VK); } } catch (Exception ex) { ex.Error(); } }