Options
All
  • Public
  • Public/Protected
  • All
Menu

discord.js-andesite

Codacy Badge npm dependencies Status devDependencies Status Build Status

An andesite-node client for discord.js.

  • 📦 has most of the andesite features implemented.
  • 💪 Strongly Typed.
  • ⛓ Reliable and Straightforward.

SupportGithubNPMDocumentation

Installation

Please don't use the .jar file from the official andesite-node repository as it's dependencies are severely outdated and in return you can't use it... so please download the andesite-node-0.19.0-all.jar from here. The setup shouldn't be any different from the official jar.

  • stable

    npm install discord.js-andesite
    yarn add discord.js-andesite

  • master (beta)

    npm install lolwastedjs/discord.js-andesite
    yarn add lolwastedjs/discord.js-andesite

An andesite node via Github Releases

Implementation

  • Manager
const { Manager } = require("discord.js-andesite");
const manager = new Manager(client, {
  nodes: [
    {
      host: "localhost",
      port: 5000,
      name: "main", // name of the node (used for fetching it)
      auth: "nicepassword" // you can omit this if you didn't set a password
    }
  ],
  defaultVolume: 50, // the default volume for players.
  restTimeout: 15000, // the timeout used for rest requests (default is 10000)
  player, // The player class to use, you should omit this if you don't know what you're doing.
  reconnectTries: 3 // the amount of tries to reconnect.
});
client.on("ready", async () => {
  await manager.init(client.user.id);
});
  • Fetching Songs
    Andesite automatically does ytsearch: if you have the option enabled in your application.conf. Manager#search returns the response of /loadtracks so check the andesite docs for reference.
async function getSongs(query) {
  const results = await manager.search(query);
  return results.tracks;
}
  • Joining and Leaving
// joining
const node = manager.nodes.get(); // returns the ideal if no key is provided.
if (!node) throw new Error("No available nodes.");
const player = node.join({
  guildId: message.guild.id,
  channelId: message.member.voice.channelId
});
// leaving
const node = manager.nodes.get(); // returns the ideal if no key is provided.
if (!node) throw new Error("No available nodes.");
node.leave(message.guild.id);

Example

https://github.com/lolwastedjs/erika-costell

The example shows most of the features that this client and andesite supports.

  • filters (timescale, equalizer)
  • player methods & properties (play, pause, resume, setVolume, filter, stop, position, paused)
  • search method
  • rest manager

Featured

A list of bots that use this package.

Add yours!

Copyright Stuff

Copyright (c) MeLike2D 2017 - 2019.
SupportWebsite