Esempio n. 1
0
        public async Task Announce(string videoId)
        {
            if (!IsAdmin)
            {
                return;
            }

            var file   = Constants.ConfigRootDirectory + Constants.GuildDirectory + Context.Guild.Id + ".json";
            var server = new DiscordServer();

            if (File.Exists(file))
            {
                server = JsonConvert.DeserializeObject <DiscordServer>(File.ReadAllText(file));
            }

            var videoResponse = await _youTubeManager.GetVideoById(videoId);

            if (videoResponse == null || videoResponse.items == null || videoResponse.items.Count == 0)
            {
                await Context.Channel.SendMessageAsync("A video with the ID " + videoId + " doesn't exist on YouTube.");

                return;
            }

            var video       = videoResponse.items[0];
            var channelData = await _youTubeManager.GetYouTubeChannelSnippetById(video.snippet.channelId);

            string url          = "http://" + (server.UseYouTubeGamingPublished ? "gaming" : "www") + ".youtube.com/watch?v=" + videoId;
            string channelTitle = video.snippet.channelTitle;
            string avatarUrl    = channelData.items.Count > 0 ? channelData.items[0].snippet.thumbnails.high.url : "";
            string thumbnailUrl = video.snippet.thumbnails.high.url;

            var message = await MessagingHelper.BuildMessage(channelTitle, "a game", video.snippet.title, url, avatarUrl, thumbnailUrl,
                                                             Constants.YouTubeGaming, video.snippet.channelId, server, server.GoLiveChannel);

            await MessagingHelper.SendMessages(Constants.YouTube, new List <BroadcastMessage>() { message });
        }