Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/distubejs/deezer
A DisTube custom plugin for supporting Deezer.
https://github.com/distubejs/deezer
Last synced: about 1 month ago
JSON representation
A DisTube custom plugin for supporting Deezer.
- Host: GitHub
- URL: https://github.com/distubejs/deezer
- Owner: distubejs
- License: mit
- Created: 2022-12-04T19:31:50.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-20T10:58:34.000Z (9 months ago)
- Last Synced: 2024-05-21T07:03:51.731Z (7 months ago)
- Language: TypeScript
- Size: 1010 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# @distube/deezer
A DisTube custom plugin for supporting Deezer URL.
## Feature
This plugin grabs the songs on Deezer then searches on YouTube and plays with DisTube.
## Installation
```sh
npm install @distube/deezer@latest
```## Usage
```js
const Discord = require("discord.js");
const client = new Discord.Client();const { DisTube } = require("distube");
const { DeezerPlugin } = require("@distube/deezer");
const distube = new DisTube(client, {
plugins: [new DeezerPlugin()],
});
```## Documentation
### DeezerPlugin([DeezerPluginOptions])
- `DeezerPluginOptions.parallel`: Default is `true`. Whether or not searching the playlist in parallel.
- `DeezerPluginOptions.emitEventsAfterFetching`: Default is `false`. Emits `addList` and `playSong` event before or after fetching all the songs.
> If `false`, DisTube plays the first song -> emits `addList` and `playSong` events -> fetches all the rest\
> If `true`, DisTube plays the first song -> fetches all the rest -> emits `addList` and `playSong` events#### Example
```js
new DeezerPlugin({
parallel: true,
emitEventsAfterFetching: false,
});
```##### Use SoundCloudPlugin to search instead of YouTube
```ts
import { DisTube } from "distube";
import { DeezerPlugin } from "@distube/deezer";
import { SoundCloudPlugin } from "@distube/soundcloud";const scPlugin = new SoundCloudPlugin();
class NewDeezerPlugin extends DeezerPlugin {
override async search(query: string, metadata: any) {
try {
return new Song((await scPlugin.search(query, { limit: 1 }))[0], { metadata });
} catch {
return null;
}
}
}const distube = new DisTube(client, {
plugins: [new NewDeezerPlugin(), scPlugin],
});
```