Sub
sonic for the source medium. DisC
hord
for the target medium written with an h to make it more musical. And ium
to make it sound like an element.
- Play music from one or multiple Subsonic servers.
- Search and queue system with pagination.
- Usual player controls:
Pause
,Continue
,Stop
,Skip
,Shuffle
via Discord /commands.
- Node.JS (Guide on nodejs.org) - Tested versions: 18, 20 & 22
- Discord Bot (Guide on discord.com)
- Subsonic Server (Guide on subsonic.org)
- Clone repository:
git clone https://github.com/zlyfer/subsonic-music-bot
- Install packages:
npm install
- Copy
credentials.template.json
tocredentials.json
. - Insert your credentials into
credentials.json
. - Copy
config.template.json
toconfig.json
. - Adjust the
config.json
to your needs.
name | type | description |
---|---|---|
version | number | The version of the credentials file. Should not be edited manually. |
discord | object | The discord bot credentials. |
subsonic | array | The subsonic server credentials. |
name | type | description |
---|---|---|
token | string | The discord bot token. |
client_id | string | The discord bot client id. |
name | type | default | description |
---|---|---|---|
name | string | The name of the subsonic server. | |
protocol | string | http | The protocol of the subsonic server. |
host | string | The host of the subsonic server. | |
port | string | 80 | The port of the subsonic server. |
username | string | The username of the subsonic server. | |
password | string | The password of the subsonic server. |
name | type | default | description |
---|---|---|---|
volume | number (0-1000) | 100 | The volume for the player. |
showProvider | boolean | true | Whether to show the provider (subsonic server) of the song in the queue. |
maxPageEntries | number | 10 | The maximum number of entries per page. |
bufferTime | number | 3000 | The buffer time of the player. Only change if you experience issues. |