public InputHandler( IDiscord discord, ILogger logger, INixProvider nixProvider, LavalinkService lavalink, MinecraftService minecraft) { this.discord = discord; this.logger = logger; this.nixProvider = nixProvider; services = new ServiceCollection() .AddSingleton(discord) .AddSingleton(discord.Client) .AddSingleton(commands) .AddSingleton(logger) .AddSingleton(lavalink) .AddSingleton(minecraft) .AddSingleton <InteractiveService>() .AddSingleton <AudioService>() .AddSingleton <SpotifyService>() .AddSingleton <EmbedService>() .AddLavaNode(lava => lava.SelfDeaf = true) .BuildServiceProvider(); }
public MusicCommands(MusicData music, LavalinkService lavalink, PasteBinService pastebin, YoutubeSearchEngine youtube) { this.MusicData = music; this.Lavalink = lavalink; this.PasteBin = pastebin; this.Youtube = youtube; }
public MusicData(LavalinkService lavalink) { this.Lavalink = lavalink; this.Queue = new List <TrackItem>(); this.RNG = new Random(); // Any items added to the internal queue will be wrapped with the readonlycollection! // In other words, adding an item to the Queue variable will also add it to the PublicQueue this.PublicQueue = new ReadOnlyCollection <TrackItem>(this.Queue); }
/// <summary> /// Creates a new instance of playback data. /// </summary> /// <param name="guild">Guild to track data for.</param> /// <param name="rng">Cryptographically-secure random number generator implementation.</param> /// <param name="lavalink">Lavalink service.</param> /// <param name="redis">Redis service.</param> public GuildMusicData(DiscordGuild guild, CSPRNG rng, LavalinkService lavalink) { this.Guild = guild; this.RNG = rng; this.Lavalink = lavalink; this.Identifier = this.Guild.Id.ToString(CultureInfo.InvariantCulture); this.QueueInternal = new List <MusicItem>(); this.Queue = new ReadOnlyCollection <MusicItem>(this.QueueInternal); }
public GuildMusicPlayer(DiscordGuild guild, LavalinkService lavalink) { this.guild = guild; this.rng = new SecureRandom(); this.lava = lavalink; this.Identifier = this.guild.Id.ToString(CultureInfo.InvariantCulture); this.queueSem = new SemaphoreSlim(1, 1); this.queue = new List <Song>(); this.Queue = new ReadOnlyCollection <Song>(this.queue); }
/// <summary> /// Creates a new instance of playback data. /// </summary> /// <param name="guild">Guild to track data for.</param> /// <param name="rng">Cryptographically-secure random number generator implementation.</param> /// <param name="lavalink">Lavalink service.</param> /// <param name="redis">Redis service.</param> public GuildMusicData(DiscordGuild guild, SecureRandom rng, LavalinkService lavalink, RedisClient redis) { this.Guild = guild; this.RNG = rng; this.Lavalink = lavalink; this.Redis = redis; this.Identifier = this.Guild.Id.ToString(CultureInfo.InvariantCulture); this.QueueInternalLock = new SemaphoreSlim(1, 1); this.QueueInternal = new List <MusicItem>(); this.Queue = new ReadOnlyCollection <MusicItem>(this.QueueInternal); }
public GuildMusicData(LavalinkService lavalink, DiscordGuild guild, Program program) { this.CurrentProgram = program; this.Guild = guild; this.Lavalink = lavalink; this.MusicSources = new IMusicSource[] { new RemoteMusicData(this.CurrentProgram), new PlayNextData(this.CurrentProgram), new LocalMusicData(this.Guild, this.CurrentProgram) }; }
public ServicesController(LavalinkService lavalink, MinecraftService minecraft) { this.lavalink = lavalink; this.minecraft = minecraft; Menu = new View(this) { Name = "Services", Parent = CurrentView, Behaviour = new Navigation { Options = new() { new() { Name = "Lavalink", View = Lavalink }, new() { Name = "Minecraft", View = Minecraft }, } } }; }
public InfoCommands(Bot bot, LavalinkService lavalink) { this.Bot = bot; this.Lavalink = lavalink.LavalinkNode; }