コード例 #1
0
        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);
        }