Skip to content
(Stalled. "musicbot" will replace this repository eventually.) Docker image that contains everything necessary to run TS3Bot almost out of the box.
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
etc/pulse This is no longer needed since we no longer use runit. Nov 5, 2015
.dockerignore Initial commit. Oct 16, 2015
Dockerfile Update Node.js to 6.1.0. May 8, 2016
README.md Add "web interface" to planned features. Apr 10, 2016
setup.sh Hacky fix for youtube-dl permissions. Apr 9, 2016

README.md

TS3Bot for Docker

This is the Docker image that contains everything necessary to run Icedream's TS3Bot. You only need to provide a configuration with an identity and off it goes!

This is currently still a project in early development, it basically works just fine as long as you don't try to do anything out of the ordinary to it. Let me know via the issue tracker if you find problems, errors or if you have questions!

Supported features

  • Thanks to youtube-dl support for YouTube, SoundCloud, hundreds of other media portals and direct livestreams
  • Change the volume on the bot on the fly
  • Playlisting system (you can currently enqueue tracks, skip tracks and loop them)
  • Takes commands from both channel and private messages
  • Can change nickname on the fly

Supported commands

  • changenick <nickname> - Changes the bot's nickname.
  • clear or empty - Empties the current playlist.
  • current - Shows the currently playing track in the chat.
  • enqueue <url> or add <url> or append <url> - Adds a URL to the playlist.
  • loop on or loop off - Enables or disables playlist looping.
  • next - Jumps to the next item in the playlist.
  • pause - Pause playback of the current track.
  • play - Resumes playback of the current track.
  • play <url> - Plays a URL.
  • prev or previous - Jumps to the previous item in the playlist.
  • stop - Stops playback immediately.
  • stop-after - Stops playback after the current item is done playing.
  • vol <value> - Changes the playback volume, value can be between 0 (for 0%) and 200 (for 200%). Default at startup is 50 (50%).

How to run this?

  1. You can pull the latest image via docker pull icedream/ts3bot.

  2. Create a folder, it will contain your configuration and your identity file that the bot uses to log in.

  3. Create a config.json in the configuration folder. A working example would be here:

    {
      "identity-path": "/config/identity.ini",
      "ts3-server": "ts3server://<your.ts3.server>?port=<port>&password=<password>&channel=<channelpath>"
    }

    Note that you can generate the URL for ts3-server using your TS3 client via Extras > Invite friend, select the checkbox "Channel" and select "ts3server link" as invitation type.

  4. Generate an identity in your TeamSpeak3 client (Settings > Identities > Add), set the nickname to the nickname you want the bot to have and optionally increase the security level to the level needed for your bot to join the server.

  5. Export the identity you just generated via the "Export" button. Save it as identity.ini and put it into your configuration folder from earlier. You can now delete the identity from your TS3 client.

  6. Now set up a container with your configuration folder mounted at /config. The command for this would be: docker run -d -v "<path to your config folder>:/config:ro" icedream/ts3bot

Alternatively instead of running a docker command you can use Docker Compose. A typical docker-compose.yml for this would be:

bot:
  image: icedream/ts3bot
  volume:
  - "<path to your config folder>:/config:ro"

Source code

The main repository for the source code of the bot is available at https://github.com/icedream/ts3bot-control.

Planned features

  • Web interface
  • Timestamping/skip intros (ts3bot-control issue #3)
  • Volume adjustment (ts3bot-control issue #5)
  • Playlisting (ts3bot-control issue #2)
  • Permission system (ts3bot-control issue #1)
  • Command aliases to quickly reuse media
  • Show currently playing media metadata (ts3bot-control issue #7)
  • Recording features
You can’t perform that action at this time.