private void Enqueue(string youtubeLink, string title, ulong guildId) { QueueEntry entry = null; if (Cache.TryGetCachedFile(youtubeLink, out MusicFile musicFile)) { entry = QueueEntry.FromMusicFile(musicFile, Context.Message.Author.Id); } else { entry = new QueueEntry(youtubeLink, Context.Message.Author.Id, title, filePath: Path.Combine(Config.FileCachePath, title.RemovePathForbiddenChars()), alreadyDownloaded: false, onDownloadFinished: x => { Cache.AddToCache(youtubeLink, entry, Config.CachePersistTime); }); } Queues.GetOrCreateService(guildId).Add(entry); }