Skip to content

ShadowFM/TS3AudioBot

 
 

Repository files navigation

TS3AudioBot

master develop Questions/Discussions License
Build Status Build Status Join Gitter Chat License: OSL-3.0

About

This is our open-source TeamSpeak 3 audio bot project since we haven't found any other open-source one so far.
The bot has come a long way is pretty stable by now, though sometimes he hangs up or needs some other maintenance.

Features

  • Play Youtube and Soundcloud songs as well as stream Twitch (extensible with plugins)
  • Song history
  • Various voice subscription modes; including to clients, channels and whisper groups
  • Playlist management for all users
  • Powerful permission configuration
  • Plugin support
  • Web API
  • Multi-instance
  • Localization
  • Low CPU and memory with our self-written headless ts3 client

To see what's planned and in progress take a look into our Roadmap.

Bot Commands

The bot is fully operable via chat.
Commands can be invoked with !command.

For the full command list and tutorials see here in the wiki or our live OpenApiV3 generator.

Download

You can download the latest builds precompiled from our nightly server:

  • Download versions are mostly considered stable but won't get bigger features as fast.
  • Download will always have the latest and greatest but might not be fully stable or have broken features.

Continue with downloading the dependencies.

Dependencies

You will need to download a few things for the bot to run:

Linux

  1. Mono: Get the latest version by following this tutorial and install mono-complete or mono-devel
  2. Other dependencies:
  • on Ubuntu:
    Run sudo apt-get install libopus-dev ffmpeg
  • on Arch Linux:
    Run sudo pacman -S opus ffmpeg
  • manually:
    1. Make sure you have a C compiler installed
    2. Make the Opus script runnable with chmod u+x InstallOpus.sh and run it with ./InstallOpus.sh
    3. Get the ffmpeg 32bit or 64bit binary.
    4. Extract the ffmpeg archive with tar -vxf ffmpeg-git-XXbit-static.tar.xz
    5. Get the ffmpeg binary from ffmpeg-git-*DATE*-64bit-static\ffmpeg and copy it to TS3AudioBot/bin/Release/

Windows

  1. Get the ffmpeg 32bit or 64bit binary.
  2. Open the archive and copy the ffmpeg binary from ffmpeg-latest-winXX-static\bin\ffmpeg.exe to TS3AudioBot\bin\Release\net46

Optional Dependencies

If the bot can't play some youtube videos it might be due to some embedding restrictions which are blocking this.
You can add a youtube-dl binary or source folder and specify the path in the config to try to bypass this.

Suggested first time setup

  1. The first time you'll need to run mono TS3AudioBot.exe without parameter and it will ask you a few questions.
  2. Close the bot again and configure your rights.toml to your desires. You can use the template rules and assign your admin as suggested in the automatically generated file, or dive into the rights syntax here.
  3. Start the bot again.
  4. This step is optional but highly recommended for everything to work properly.
    • Create a privilege key for the ServerAdmin group (or a group which has equivalent rights).
    • Send the bot in a private message !bot setup <privilege key>.
  5. Congratz, you're done! Enjoy listening to your favourite music, experimenting with the crazy command system or do whatever you whish to do ;).
    For further reading check out the CommandSystem.

Building manually

Download

Download the git repository with git clone --recurse-submodules https://github.com/Splamy/TS3AudioBot.git.

Linux

  1. Get the latest mono version by following this tutorial and install mono-devel
  2. See if you have NuGet by just executing nuget. If not, get it with sudo apt install nuget msbuild (or the packet manager or your distribution), or manually with wget https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
  3. Go into the directory of the repository with cd TS3AudioBot
  4. Execute nuget restore or mono ../nuget.exe restore to download all dependencies
  5. Execute msbuild /p:Configuration=Release /p:TargetFramework=net46 TS3AudioBot.sln to build the AudioBot

Windows

  1. Make sure you have installed Visual Studio and .NET Framework 4.6 and the latest dotnet core
  2. Build the AudioBot with Visual Studio.

Testing and Fuzzing

  1. Run the TS3ABotUnitTests project in Visual Studio or Monodevelop.

Community

Localization

💬 Want to help translate or improve translation?
Join us on Transifex to help translate
or in our Gitter to discuss or ask anything!
All help is appreciated ❤️

Translations need to be manually approved and will then be automatically built and deployed to our nightly server here.

License

This project is licensed under OSL-3.0.

Why OSL-3.0:

  • OSL allows you to link to our libraries without needing to disclose your own project, which might be useful if you want to use the TS3Client as a library.
  • If you create plugins you do not have to make them public like in GPL. (Although we would be happier if you shared them :)
  • With OSL we want to allow you providing the TS3AB as a service (even commercially). We do not want the software to be sold but the service. We want this software to be free for everyone.
  • TL; DR? https://tldrlegal.com/license/open-software-licence-3.0

forthebadge forthebadge forthebadge forthebadge forthebadge

About

Advanced Musicbot for Teamspeak 3

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 97.4%
  • Other 2.6%