Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (niizuki) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Install
npm install niizuki
# or
yarn add niizukiExample
const { Niizuki } = require("niizuki"); // Import niizuki
client.on("ready", async (client) => {
// defined nodes
const nodes = [
{
name: "localhost",
host: "",
password: "",
port: 2333,
secure: false,
},
];
// initialize manager
client.manager = new Niizuki(nodes, {
send: (payload) => {
const guild = this.guilds.cache.get(payload.d.guild_id);
if (guild) guild.shard.send(payload);
},
defaultSearchPlatform: "ytmsearch",
reconnectTimeout: 600000,
reconnectTries: 1000,
});
});
client.on("interactionCreate", async (interaction) => {
if (slashCmd === "play") {
const player = client.manager.createConnection({
guildId: interaction.guild.id,
voiceChannel: interaction.member.voice.channel.id,
textChannel: interaction.channel.id,
deaf: true,
});
const resolve = await client.niizuki.resolve({
query: query,
requester: interaction.user.id,
});
const { loadType, tracks, playlistInfo } = resolve;
if (loadType === "track" || loadType === "search") {
const track = tracks.shift();
player.queue.add(track);
interaction.reply(
`Add [${track.info.title}](${track.info.uri}) to the queue.`
);
if (!player.playing && !player.paused) return player.play();
}
if (loadType === "playlist") {
for (const track of resolve.tracks) {
track.info.requester = interaction.user.id;
player.queue.add(track);
}
interaction.reply(`Add \`${playlistInfo.name}\` to the queue`);
if (!player.playing && !player.paused) return player.play();
} else {
return interaction.reply("There are no results found.");
}
}
});
client.login("token");
client.manager.on("nodeConnect", async (node) => {
console.log(`${node.name} is connected.`);
});
client.manager.on("nodeDisconnect", async (node) => {
console.log(`${node.name} is disconnected.`);
});
client.manager.on("trackStart", async (player, track) => {
const channel = client.channels.cache.get(player.textChannel);
channel.send(
`Now Playing: [${track.info.title}](${track.info.uri}) [${track.info.requester}]`
);
});
client.manager.on("queueEnd", async (player, track) => {
const channel = client.channels.cache.get(player.textChannel);
let autoPlay = false;
if (autoPlay) {
player.autoplay(player);
} else {
player.destroy();
channel.send(`The queue has ended`);
}
});
