public string GetFeedbackFileName()
        {
            var gameMode = IsCasual ? "casual" : "comp";

            return($"{StartDateTime:MM_dd_yyyy}_{CleanedTitle.Substring(0, CleanedTitle.IndexOf(' '))}_{gameMode}");
        }
        public virtual async Task PlaytestCommandPre(bool replyInContext,
                                                     SrcdsLogService srcdsLogService, RconService rconService)
        {
            if (_dataService.RSettings.ProgramSettings.Debug)
            {
                _ = _log.LogMessage("Base class PlaytestCommandPre", false, color: LOG_COLOR);
            }

            PlaytestCommandRunning = true;

            _dataService.SetStartAlert(false);

            await _log.LogMessage("Running Playtest Pre Tasks!", color : LOG_COLOR);

            //Store test information for later use. Will be written to the DB.
            var    gameMode = IsCasual ? "casual" : "comp";
            string mentions = null;

            Creators.ForEach(x => mentions += $"{x.Mention} ");
            PlaytestCommandInfo             = new PlaytestCommandInfo
            {
                Id       = 1, //Only storing 1 of these in the DB at a time, so hard code to 1.
                Mode     = gameMode,
                DemoName = $"{StartDateTime:MM_dd_yyyy}" +
                           $"_{CleanedTitle.Substring(0, CleanedTitle.IndexOf(' ')).Trim()}" +
                           $"_{gameMode}",
                WorkshopId      = GeneralUtil.GetWorkshopIdFromFqdn(WorkshopLink.ToString()),
                ServerAddress   = ServerLocation,
                Title           = CleanedTitle,
                ThumbNailImage  = CanUseGallery ? GalleryImages[0] : _dataService.RSettings.General.FallbackTestImageUrl,
                ImageAlbum      = ImageGallery.ToString(),
                CreatorMentions = mentions,
                StartDateTime   = StartDateTime.GetValueOrDefault(),
                Game            = Game.ToString()
            };


            var fbf = srcdsLogService.GetFeedbackFile(server);

            //If somehow the session does not exist...
            if (fbf == null)
            {
                srcdsLogService.CreateFeedbackFile(server, GetFeedbackFileName());
                fbf = srcdsLogService.GetFeedbackFile(server);
            }

            await fbf.LogFeedback($"Playtest starting feedback started at: {DateTime.Now} CT");

            //Write to the DB so we can restore this info next boot
            DatabaseUtil.StorePlaytestCommandInfo(PlaytestCommandInfo);

            //Figure out where to send the no context message

            //No context to send these messages to - default them
            if (!replyInContext)
            {
                await TestingChannel.SendMessageAsync(embed : new EmbedBuilder()
                                                      .WithAuthor($"Pre-start playtest of {CleanedTitle}")
                                                      .WithColor(new Color(55, 55, 165))
                                                      .WithDescription($"\nOn **{PlaytestCommandInfo.ServerAddress}**" +
                                                                       $"\nWith config of **{PlaytestCommandInfo.Mode}**" +
                                                                       $"\nWorkshop ID **{PlaytestCommandInfo.WorkshopId}**").Build());
            }
        }