Example #1
0
 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();
     }
 }