Skip to content
This repository has been archived by the owner on Jun 1, 2024. It is now read-only.
/ soundcloud Public archive

A DisTube extractor plugin for supporting Soundcloud.

License

Notifications You must be signed in to change notification settings

distubejs/soundcloud

Repository files navigation

npm peer dependency version npm GitHub Repo stars Discord

Buy Me a Coffee at ko-fi.com

@distube/soundcloud

SoundCloud extractor plugin for DisTube.js.org.

Feature

  • Using SoundCloud API
  • Support SoundCloud tracks, albums and playlists
  • Search on SoundCloud
  • Play tracks directly from SoundCloud

Installation

npm install @distube/soundcloud@latest

Usage

Plugin

const Discord = require("discord.js");
const client = new Discord.Client();

const { DisTube } = require("distube");
const { SoundCloudPlugin } = require("@distube/soundcloud");
const distube = new DisTube(client, {
  plugins: [new SoundCloudPlugin()],
});

Search

const { SoundCloudPlugin } = require("@distube/soundcloud");
SoundCloudPlugin.search("A SoundCloud Track"); // static method
// Returns an array of 10 DisTube's Songs

const scPlugin = new SoundCloudPlugin();
scPlugin.search("A SoundCloud Playlist", "playlist", 3); // class method
// Returns an array of 3 DisTube's Playlist

Documentation

new SoundCloudPlugin([SoundCloudPluginOptions])

  • SoundCloudPluginOptions.clientId [string] (optional): Your account's client id.
  • SoundCloudPluginOptions.oauthToken [string] (optional): Your account's oauth token. Used to fetch more data with SoundCloud Go+ account.
  • How to get clientId and oauthToken? See here

Example

new SoundCloudPlugin({
  clientId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  oauthToken: "0-000000-000000000-xxxxxxxxxxxxxx",
});

SoundCloudPlugin.search(query, [type], [limit]) (Both static and class method)

Searches for the given query on SoundCloud.

  • Parameters

    • query [string] Search query.
    • type [string]: Type of results (track or playlist). Default is track.
    • limit [integer]: Limit the results. Default is 10.
  • Returns a Promise<Song[]|Playlist[]>

    • Returns a Promise<Song[]> if type parameter is track
    • Returns a Promise<Playlist[]> if type parameter is playlist