Пример #1
0
        public async Task MusicSearch(string song)
        {
            var apikey  = _config["deezerkey"];
            var client  = new RestClient($"https://deezerdevs-deezer.p.rapidapi.com/search?q={song}");
            var request = new RestRequest(Method.GET);

            request.AddHeader("x-rapidapi-host", "deezerdevs-deezer.p.rapidapi.com");
            request.AddHeader("x-rapidapi-key", $"{apikey}");
            IRestResponse response = client.Execute(request);

            Deezer result = JsonConvert.DeserializeObject <Deezer>(response.Content);


            var builder = new EmbedBuilder()
                          .WithTitle($"{result.data.First().title}")
                          .WithUrl($"{result.data.First().link}")
                          .AddField("Duration 🕰️", $"{result.data.First().duration}.")
                          .AddField("Rank ⭐", $"{result.data.First().rank}.")
                          .AddField("Artist 🧑‍🎤", $"{result.data.First().artist.name}.")
                          .AddField("Album :cd: ", $"{result.data.First().album.title}.")
                          .WithImageUrl($"{result.data.First().artist.picture}")
                          .WithThumbnailUrl($"{result.data.First().album.cover}")
                          .WithColor(8, 8, 8);

            var embed = builder.Build();
            await Context.Channel.SendMessageAsync(null, false, embed);

            EconomyHelper.DepositEconomy(Context.User.Id, Context.User.Discriminator, Context.User.Username, 1, _config["brobotapibaseurl"]);
        }
Пример #2
0
 public void MapFrom(Deezer.Album deezerAlbum)
 {
     this.Name = deezerAlbum.Title;
     var smallImage = new Image() { Url = string.Format("{0}?size=small", deezerAlbum.Cover) };
     var mediumImage = new Image() { Url = string.Format("{0}?size=medium", deezerAlbum.Cover) };
     var bigImage = new Image() { Url = string.Format("{0}?size=big", deezerAlbum.Cover) };
     this.Images = new List<Image>() { smallImage, mediumImage, bigImage };
     this.Url = deezerAlbum.Link;
 }
Пример #3
0
        /// <summary>
        /// permet de se connecter a Deezer, retourne true si la connection reussi et
        /// false sinon
        /// </summary>
        /// <returns></returns>
        public override bool ConnectClient()
        {
            if (m_deezer == null)
            {
                m_deezer = DeezerSession.CreateNew();
            }

            if (m_deezer == null)
            {
                return(false);
            }
            return(true);
        }
Пример #4
0
        /// <summary>
        /// permet de s authentifier aupres de Deezer, retourne true si l operation
        /// reussie et false sinon
        /// </summary>
        /// <returns></returns>
        public override async Task <bool> RunAuthentication()
        {
            if (m_deezer == null)
            {
                await Task.Run(() => m_deezer = DeezerSession.CreateNew());
            }

            if (m_deezer == null)
            {
                return(false);
            }
            return(true);
        }
Пример #5
0
        private async void btnConnect_Click(object sender, EventArgs e)
        {
            try
            {
                _deezer = DeezerSession.CreateNew();

                await _deezer.Login(txtToken.Text);

                AddToLog("Logged in.");

                panel1.Enabled = true;
            }
            catch (Exception v_ex)
            {
                MessageBox.Show(v_ex.ToString());
            }
        }
Пример #6
0
 public void MapFrom(Deezer.Artist deezerArtist)
 {
     this.Name = deezerArtist.Name;
     this.Url = deezerArtist.Link;
     var smallImage = new Image() { Url = string.Format("{0}?size=small", deezerArtist.Picture) };
     var mediumImage = new Image() { Url = string.Format("{0}?size=medium", deezerArtist.Picture) };
     var bigImage = new Image() { Url = string.Format("{0}?size=big", deezerArtist.Picture) };
     this.Images = new List<Image>(){smallImage, mediumImage, bigImage};
     this.DeezerId = deezerArtist.Id.ToString();
 }
        private async void EndFind(string data)
        {
            var json = (Dictionary <string, object>)JSON.Parse(data);

            if (json.GetString("status") == "success")
            {
                if (json["result"] == null)
                {
                }
                else
                {
                    Debug.Log("Loaded track");
                    var resultData = json.GetNode("result");

                    if (resultData.Count > 1)
                    {
                        var label     = resultData.GetString("label");
                        var title     = resultData.GetString("title");
                        var album     = resultData.GetString("album");
                        var artist    = resultData.GetString("artist");
                        var trackLink = resultData.GetString("song_link");

                        Apple   apple   = null;
                        Deezer  deezer  = null;
                        Spotify spotify = null;

                        if (resultData.ContainsKey("apple_music"))
                        {
                            apple = new Apple((Dictionary <string, object>)resultData.GetNode("apple_music"));

                            apple.Label     = label;
                            apple.Title     = title;
                            apple.Album     = album;
                            apple.Artist    = artist;
                            apple.TrackLink = trackLink;
                            _component.StartCoroutine(apple.GetTexture(StartA));
                        }

                        if (resultData.ContainsKey("deezer"))
                        {
                            deezer = new Deezer((Dictionary <string, object>)resultData.GetNode("deezer"));

                            _context.CommandModel.AddCommand(new AddTrackToHistoryCommand(JSON.ToJSON(deezer)));
                            deezer.Label     = label;
                            deezer.Title     = title;
                            deezer.Album     = album;
                            deezer.Artist    = artist;
                            deezer.TrackLink = trackLink;
                            _component.StartCoroutine(deezer.GetTexture(StartD));
                        }

                        if (resultData.ContainsKey("spotify"))
                        {
                            spotify = new Spotify((Dictionary <string, object>)resultData.GetNode("spotify"));

                            spotify.Label     = label;
                            spotify.Title     = title;
                            spotify.Album     = album;
                            spotify.Artist    = artist;
                            spotify.TrackLink = trackLink;
                            _component.StartCoroutine(spotify.GetTexture(StartS));
                        }
                    }
                }
            }
        }
Пример #8
0
 public DiscoveryService(Vk vk, Deezer deezer)
 {
     _vk     = vk;
     _deezer = deezer;
 }