TL;DR: Jim is discontinued and his successor can be found here
If you are interested in the how and why, check out this issue
A small music bot for your meeting in Jitsi.
Key Features • Commands • How to deploy • License
Hi, I am JIM! Your Jitsi Integrated Musicbot.
You would like to know what my key features are? - I will assist you bringing good music to your Jitsi Meet party!
Command | Description |
---|---|
!add <url|searchTerm> |
Add track or pick the first result from search term to queue |
!clear |
Clear the queue |
!help |
Display the help menu |
!joke |
Try to make you laugh 😆 |
!list |
Show tracks in queue |
!pause |
Pause the current track |
!ping |
Emit a life signal |
!play <url|searchTerm> |
Play track or first result from search term now! Resume if no parameter is provided |
!skip |
Skip current track and play next one |
!track <value> |
If no value is provided, get information about the current track. Use e.g. ++ /--- or +40 / -120 to fast forward or rewind |
!vol <value> |
If no value is provided, retrieve the current volume level. Use a number from 0 to 100 or a variable amount of + or - to adjust the volume |
You can simply deploy JIM as a container using
docker run --rm -d --init --cap-add=SYS_ADMIN --name=jim -e ROOM_NAME=YourJitsiRoom ghcr.io/p-fruck/jim/jim
This also works with podman. You can even mount a .env
file to store your environment variables by adding -v /path/to/.env:.env
to the docker command.
Alternatively, you can start the bot without any sort of container-technology, using
npm ci && npm run start
.
Again, you have to create a .env
file containing your environment variables. A list off all available variables can be found below, but only ROOM_NAME
is required (=❗):
Variable | Default | Description |
---|---|---|
BOT_AVATAR_URL |
Logo of JIM | A link to a publicly accessible profile picture for JIM |
BOT_HEADLESS |
true |
Whether or not the bot should be launched in headless mode |
BOT_NAME |
DJ JIM |
Defines the display name of your bot |
JITSI_DOMAIN |
meet.jit.si |
Specify the base domain of your Jitsi instance |
JOKE_DELAY |
2500 |
Sets the delay in ms between setup and delivery of the joke |
JOKE_FILTER |
Any |
Sets filter the joke API (documentation) |
LOG_LEVEL |
info |
Defines the minimum log level. Choose error , warn , info or debug |
PLAYLIST_MAX_SIZE |
100 |
Defines the maximum amount of songs that can be added to a playlist |
TRACK_STEP_SIZE |
10 |
Defines the default step size in sec. to fast forward (or rewind) a track |
ROOM_NAME |
❗ | Name of the room to join |
ROOM_PASSWORD |
Password of the jitsi room (if any) | |
VOLUME_INITIAL_VALUE |
20 |
Sets the initial music volume in % (0 to 100 ) |
VOLUME_STEP_SIZE |
10 |
Default step size in %, utilized by eg !vol +++ |
JIM is licensed under GNU Affero General Public License v3.0
!