public async Task SendMessageAudio(string to, byte[] audioData, WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType audtype)
        {
            FMessage msg = await this.getFmessageAudio(to, audioData, audtype);

            if (msg != null)
            {
                this.SendMessage(msg);
            }
        }
        protected async Task <FMessage> getFmessageAudio(string to, byte[] audioData, WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType audtype)
        {
            to = Helpers.GetJID(to);
            string type      = string.Empty;
            string extension = string.Empty;

            switch (audtype)
            {
            case WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType.WAV:
                type      = "audio/wav";
                extension = "wav";
                break;

            case WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType.OGG:
                type      = "audio/ogg";
                extension = "ogg";
                break;

            default:
                type      = "audio/mpeg";
                extension = "mp3";
                break;
            }

            //create hash
            string filehash = string.Empty;

            using (HashAlgorithm sha = HashAlgorithm.Create("sha256"))
            {
                byte[] raw = sha.ComputeHash(audioData);
                filehash = Convert.ToBase64String(raw);
            }

            //request upload
            UploadResponse response = await this.UploadFile(filehash, "audio", audioData.Length, audioData, to, type, extension);

            if (response != null && !String.IsNullOrEmpty(response.url))
            {
                //send message
                FMessage msg = new FMessage(to, true)
                {
                    media_wa_type          = FMessage.Type.Audio,
                    media_mime_type        = response.mimetype,
                    media_name             = response.url.Split('/').Last(),
                    media_size             = response.size,
                    media_url              = response.url,
                    media_duration_seconds = response.duration
                };
                return(msg);
            }
            return(null);
        }
        public async void SendMessageBroadcastAudio(string[] recipients, byte[] AudioData, WhatsAPI.UniversalApps.Libs.Constants.Enums.AudioType audtype)
        {
            string        to;
            List <string> foo = new List <string>();

            foreach (string s in recipients)
            {
                foo.Add(Helpers.GetJID(s));
            }
            to = string.Join(",", foo.ToArray());
            FMessage msg = await this.getFmessageAudio(to, AudioData, audtype);

            if (msg != null)
            {
                this.SendMessage(msg);
            }
        }