/// <summary> /// Gets a vod for a specific game, and if provided, a filter for getting either /// vods for a certain player, character, or both /// </summary> /// <param name="game">The game to look up</param> /// <param name="filter">An object containing named parameters for the command</param> //[Command("vod")] public async Task GetVod(string game, VodFilter filter) { var searchTerms = new VodSearchTerms { Character = filter.Character, Player = filter.Player }; YouTubeVideo vod = null; try { FightingGameName gameName = GetFullGameName(game); vod = await vodSearchEngine.GetVodFor(gameName, searchTerms, filter.GetNewClips); } catch (InvalidOperationException invalidOpEx) { await ReplyAsync(invalidOpEx.Message); } await ReplyAsync((vod != null)?vod.GetVideoUrl() : CouldNotFindVod); }