コード例 #1
0
ファイル: Settings.cs プロジェクト: makakiyoAnju/Victoria
        public LavaNodeSettings VerifyNodeSettings(LavaNodeSettings settings)
        {
            settings ??= new LavaNodeSettings();


            return(settings);
        }
コード例 #2
0
        public async Task <IEnumerable <LavaNode> > AddNodesAsync(DiscordShardedClient shardedClient,
                                                                  LavaNodeSettings settings)
        {
            settings.With(shardedClient.Shards.Count, shardedClient.CurrentUser.Id);
            var add   = shardedClient.Shards.Select(x => AddNodeAsync(x, settings));
            var nodes = await Task.WhenAll(add).ConfigureAwait(false);

            return(nodes);
        }
コード例 #3
0
        public async Task <LavaNode> AddNodeAsync(DiscordSocketClient socketClient,
                                                  LavaNodeSettings settings)
        {
            var hash = socketClient.GetHashCode();

            if (_nodes.TryGetValue(hash, out LavaNode node))
            {
                return(node);
            }

            settings.Shards = settings.Shards is null ?
                              await socketClient.GetRecommendedShardCountAsync().ConfigureAwait(false)
                : 1;

            node = new LavaNode(settings);
            await node.InitializeAsync().ConfigureAwait(false);

            return(node);
        }
コード例 #4
0
 internal LavaNode(LavaNodeSettings nodeSettings)
 {
     _nodeSettings = nodeSettings;
     _players      = new ConcurrentDictionary <ulong, LavaPlayer>();
 }