ts3bot/README.md

66 lines
3.6 KiB
Markdown
Raw Normal View History

2015-10-16 10:56:26 +00:00
# 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!
2015-10-16 11:36:01 +00:00
*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!*
2015-10-16 10:56:26 +00:00
## 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 so they're played one by one or even skip currently playing tracks)
2015-10-16 10:56:26 +00:00
- Takes commands from both channel and private messages
- Can change nickname on the fly
## Supported commands
- `changenick <nickname>` - Changes the bot's nickname
- `enqueue <url>` or `add <url>` or `append <url>` - Adds a URL to the playlist
- `pause` - Pause playback of the current track
- `play` - Resumes playback of the current track if it was paused
2015-10-16 10:56:26 +00:00
- `play <url>` - Plays a URL
- `stop` - Stops playback
- `vol <value>` - Changes the playback volume, value can be between 0 (for 0%) and 1024 (for 400%). Default at startup is 128 (50%).
2015-10-16 10:56:26 +00:00
## 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:
```json
{
"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.
2015-10-16 10:56:26 +00:00
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" --cap-add SYS_NICE icedream/ts3bot`
Alternatively instead of running a `docker` command you can use [Docker Compose](https://docs.docker.com/compose/). A typical `docker-compose.yml` for this would be:
```yaml
bot:
image: icedream/ts3bot
volume:
- "<path to your config folder>:/config:ro"
cap_add:
- SYS_NICE
```
## Source code
The main repository for the source code of the bot is available at [https://github.com/icedream/ts3bot-control](https://github.com/icedream/ts3bot-control).
## Planned features
- Timestamping/skip intros (ts3bot-control issue [#3](https://github.com/icedream/ts3bot-control/issues/3))
- Volume adjustment (ts3bot-control issue [#5](https://github.com/icedream/ts3bot-control/issues/5))
- Playlisting (ts3bot-control issue [#2](https://github.com/icedream/ts3bot-control/issues/2))
- Permission system (ts3bot-control issue [#1](https://github.com/icedream/ts3bot-control/issues/1))
2015-10-16 10:56:26 +00:00
- Command aliases to quickly reuse media
- Show currently playing media metadata (ts3bot-control issue [#7](https://github.com/icedream/ts3bot-control/issues/7))
2015-10-16 10:56:26 +00:00
- Recording features