public SetGameChatCommand()
     : base(MixItUp.Base.Resources.SetGame, "setgame", 5, UserRoleEnum.Mod)
 {
     this.Actions.Add(new CustomAction(async(UserViewModel user, IEnumerable <string> arguments) =>
     {
         if (ChannelSession.Services.Chat != null)
         {
             if (arguments.Count() > 0)
             {
                 string name = string.Join(" ", arguments).ToLower();
                 IEnumerable <Twitch.Base.Models.NewAPI.Games.GameModel> games = await ChannelSession.TwitchUserConnection.GetNewAPIGamesByName(name);
                 if (games != null && games.Count() > 0)
                 {
                     Twitch.Base.Models.NewAPI.Games.GameModel game = games.FirstOrDefault(g => g.name.ToLower().Equals(name));
                     if (game == null)
                     {
                         game = games.First();
                     }
                     await ChannelSession.TwitchUserConnection.UpdateV5Channel(ChannelSession.TwitchChannelV5, game: game);
                     await ChannelSession.RefreshChannel();
                     await ChannelSession.Services.Chat.SendMessage("Game Updated: " + game.name);
                     return;
                 }
                 await ChannelSession.Services.Chat.SendMessage("We could not find a game with that name");
             }
             else
             {
                 await ChannelSession.Services.Chat.SendMessage("Usage: !setgame <GAME NAME>");
             }
         }
     }));
 }
        public override async Task CustomRun(CommandParametersModel parameters)
        {
            if (parameters.Arguments.Count() > 0)
            {
                string name = string.Join(" ", parameters.Arguments).ToLower();
                IEnumerable <Twitch.Base.Models.NewAPI.Games.GameModel> games = await ChannelSession.TwitchUserConnection.GetNewAPIGamesByName(name);

                if (games != null && games.Count() > 0)
                {
                    Twitch.Base.Models.NewAPI.Games.GameModel game = games.FirstOrDefault(g => g.name.ToLower().Equals(name));
                    if (game == null)
                    {
                        game = games.First();
                    }
                    await ChannelSession.TwitchUserConnection.UpdateV5Channel(ChannelSession.TwitchChannelV5, game : game);

                    await ChannelSession.RefreshChannel();

                    await ChannelSession.Services.Chat.SendMessage("Game Updated: " + game.name);

                    return;
                }
                await ChannelSession.Services.Chat.SendMessage("We could not find a game with that name");
            }
            else
            {
                await ChannelSession.Services.Chat.SendMessage("Usage: !setgame <GAME NAME>");
            }
        }