Panda
Panda mascot with headphones

Panda 🐼

A tiny, cute music bot for TeamSpeak 6 β€” with a lovely web panel.

Works with TeamSpeak 6 Open source No API key Several bots ~130 MB RAM
Panda's web panel playing a song

Why Panda?

SinusBot can't join TeamSpeak 6 servers. Panda can β€” and it's small, friendly and free.

🐼

Made for TeamSpeak 6

Talks to the server directly. No TeamSpeak client, no X server, no plugins running in the background. TS3 servers work too.

πŸ“š

A song library

Every requested song is saved. Favourites start instantly and never hit YouTube again; when it's full, the least played songs make room.

⚑

No waiting

Upcoming songs are downloaded ahead of time, so the next song starts the moment the last one ends.

🎡

Links from anywhere

Song names and YouTube first, plus SoundCloud, Bandcamp, Mixcloud and audio files. Spotify, Apple Music, Deezer and Tidal links are found on YouTube, whole Spotify playlists too.

πŸ“»

Internet radio

Paste a station's stream, or find thousands of stations by country and genre in the panel. !fm jazz plays one; the song on air shows in the bot's description.

✨

Autoplay

When the queue runs out, Panda keeps playing songs like the last one, from YouTube's Mix. Off until you turn it on.

πŸ€–

Several bots, one panel

Run a bot per server or channel, each with its own queue and settings, from a single install and a single song library.

πŸ“ƒ

Playlists & favorites

Save the queue or single songs into playlists and play them with !playlist. !fav keeps the song you like.

πŸŽ›οΈ

Equalizer & effects

Bass, vocal, rock and more, or your own ten bands. Nightcore, slowed, 8D, the speed and a crossfade between songs, per bot.

πŸ”Š

Equal loudness

Saved songs are measured once and play equally loud, so nobody has to ride the volume slider.

🌐

A panel you'll like

Now playing, drag & drop queue, search, library, playlists, history with times, statistics, volume, loop and seek. Light and dark, English, Turkish, French and German, works on phones.

πŸ‘₯

Users and roles

Give friends their own panel login. Admins can do everything; "can only add songs" users watch and add songs.

πŸ’¬

Chat commands

!play, !skip, !queue… in English, Turkish, French or German. Limit who can use them with TeamSpeak UIDs or server groups.

πŸ“¦

One-line install

One command sets up everything on Linux and keeps yt-dlp up to date; later updates are one click in the panel. Docker, Windows and macOS builds too.

See what's going on

The Statistics card shows plays, time listened, the busiest days and hours, the most played songs and who asked for the most.

The System screen shows CPU, memory and disk, every bot's connection and the live log, and tells you when a new version is out.

The System screen with status cards
Statistics: plays per day and hour, most played songs

Your songs, saved

Panda keeps every song you ask for, up to the size you choose (5 GB by default). Saved songs show up in the panel with their play counts, start without any delay and are found by name: !play bohemian plays your saved Bohemian Rhapsody.

When the library is full, the songs you listened to the least are removed first, so your favourites always stay.

The song library in dark mode

Install in one line

On a Linux server (Ubuntu, Debian, Fedora, Arch; x64 or ARM):

curl -fsSL https://raw.githubusercontent.com/KaanBahaSever/panda/main/scripts/install.sh | sudo bash
  1. The installer asks for your TeamSpeak server address and prints the panel address and login (user admin).
  2. Open the panel and set the server password and channel under Settings.
  3. Write !play and a song in the bot's channel. That's it! 🎢
Docker
git clone https://github.com/KaanBahaSever/panda && cd panda
docker compose up -d
docker compose logs panda   # panel password
Windows / macOS

Download Panda from the releases page, install ffmpeg, yt-dlp and deno, then run panda.

Panda's settings

Chat commands

Write them in the bot's channel or in a private message. Turkish, French and German versions work too.

!play!Γ§alPlay a song name or link, or add it to the queue
!skip!geΓ§Next song
!stop!durStop and clear the queue
!pause!duraklatPause (and !resume to continue)
!queue!sΔ±raShow the queue
!vol 40!ses 40Change the volume
!loop!tekrarRepeat one song or the whole queue
!join!gelCome to my channel
!follow!takipFollow me from channel to channel
!autoplay!otomatikKeep playing similar songs when the queue ends
!fm jazz!fm jazzPlay an internet radio station
!eq bass!eq basEqualizer
!fx nightcore!efekt 8dNightcore, slowed or 8D
!playlist rock!liste rockQueue a saved playlist
!fav!favSave the song playing to Favorites

Questions

Do I need a YouTube API key?

No. Panda uses yt-dlp, which reads YouTube like a browser does: no API key, no Google project, no daily quota.

Why can't SinusBot join my TeamSpeak 6 server?

TeamSpeak 6 servers only accept TeamSpeak 3 clients from version 3.6.0, and SinusBot runs an older one. Panda speaks the protocol itself and understands the new license data that TeamSpeak 6 sends while connecting.

YouTube says "confirm you're not a bot"

That happens on some server IPs. Log in to YouTube in a private window, export the cookies with a cookies.txt extension, close the window and paste them in Settings β†’ YouTube cookies.

How much does it need?

Very little: the bot uses about 130 MB of RAM, and yt-dlp and ffmpeg only run while a song plays. A small VPS next to your TeamSpeak server is plenty.

How do I update?

On Linux installs, open System β†’ Updates in the panel and click Update Panda (or run the installer again). With Docker: git pull && docker compose up -d --build. Your songs, history, playlists and settings stay, and the queue carries on where it left off.

Is it free?

Yes, Panda is open source under the Open Software License 3.0. Ideas, bug reports and pull requests are welcome on GitHub.