Code Monkey home page Code Monkey logo

ts3-musicbot's Introduction

TS3 MusicBot lets you control and listen to your music from a TeamSpeak server's channel via the chat.

TS3 MusicBot can play music from Spotify, YouTube, SoundCloud and Bandcamp. Support for other services possibly coming in the future.
TS3 MusicBot doesn't require you to be an admin on the server you are using the bot on, you only need permission to speak in the desired channel and use the chat.

Features:

  • Spotify Support! Unlike other bots, this Spotify support is legit!*
  • YouTube Support.
  • SoundCloud Support.
  • Bandcamp Support.
  • Built in Spotify, YouTube and SoundCloud search.
  • You can have tracks from Spotify, YouTube, SoundCloud and Bandcamp all in the same queue!
  • Supports adding multiple tracks, albums and playlists etc. to the queue simultaneously.
  • Add whole playlists to the queue. This is something that isn't possible even in the official Spotify client!
  • Supports adding a Spotify artist's top tracks to the queue.
  • You can easily add content to the start, or the end of the song queue, or at any position you want!
  • Supports pre-shuffling. This makes it possible for example, to shuffle a playlist before it gets added to the queue. This is very useful if you don't want to shuffle the whole song queue!
  • Supports ncspot! If you don't want to use the official Spotify client, you can use ncspot, which is a lot lighter on system resources, but it requires a Spotify premium account.
  • And more...

Requirements:

  • Linux based OS in a virtual machine or spare computer.
  • Works on Windows via WSL2, but configuration is harder than just installing an actual Linux OS.
  • MacOS might work if you install dependencies via homebrew, but this hasn't been tested.

Installation:

Go to [Wiki](https://gitlab.com/Bettehem/ts3-musicbot/wikis/home) for instructions on installation.

Commands:





*Other bots which claim to support Spotify, will only search for a song's data on Spotify, then enter it in a YouTube search and play the first result. This is especially problematic if you're trying to play a Spotify song that doesn't exist on YouTube. What you will get is a random video (not your song!) that might just have a similar name as your song. And even if the bot happens to find the correct match for your song on YouTube, the audio quality might still be a lot worse on YouTube than on Spotify.
This problem doesn't exist on this bot, as it will search for the relevant Spotify data using their API, and then uses either the official Spotify client, or if the user so chooses, ncspot to play the songs straight from Spotify.

If you like my work and feel like it's worth your money, you can donate via PayPal. More options may come in the future. Thanks for your support!
Support via PayPal

ts3-musicbot's People

Contributors

abuhamsa avatar bettehem avatar narasimha00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ts3-musicbot's Issues

Fails to set up audio

I successfully installed the bot on a server running Ubuntu 20.04 with the jar which was provided in https://gitlab.com/Bettehem/ts3-musicbot/-/issues/24.

I set up pulse with the tutorial from: https://askubuntu.com/questions/28176/how-do-i-run-pulseaudio-in-a-headless-server-installation

The output of pacmd list-sinks gives:

1 sink(s) available.
  * index: 0
	name: <auto_null>
	driver: <module-null-sink.c>
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: IDLE
	suspend cause: (none)
	priority: 1000
	volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
	        balance 0,00
	base volume: 65536 / 100% / 0,00 dB
	volume steps: 65537
	muted: no
	current latency: 2136,23 ms
	max request: 344 KiB
	max rewind: 344 KiB
	monitor source: 0
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 2000,00 ms; range is 0,50 .. 2000,00 ms
	module: 10
	properties:
		device.description = "Dummy Output"
		device.class = "abstract"
		device.icon_name = "audio-card"

So I think this looks fine. But when I start the bot it restarts constantly:

…
Waiting for TeamSpeak to connect to server...
Getting server name...
Server name: TS3Server
Setting up audio.
TeamSpeak's audio is broken, restarting client.
…

Thank you for creating a TS3 Audiobot with Spotify support! I look forward to using it.

Running bot headless ends in infinite loop

Hi there,
When I try to start the bot headless it starts with:
image

then it's spaming the following:
image

Do I miss something? I was just following the Installation guide from the wiki.

Also the config which it is trying to access at the beginning of the command is not created. Do I need to create it myself?

BR
Jan

Non-GUI version?

Hey Bettehem!

This would be an excelent bot for me too, but we are running from a server that has no GUI. Do you think you could make it work without any GUI? Also, a docker image would be excelent.

Option to customize commands and control volume for YT/SC

Hello, first of all thank you for this bot!
I learned a lot while setting it up as I wasn't as experienced with Linux distros but I have one little issue with it.

I'm wondering if there is any way to change the original commands, my friends and I are used to !play or -play instead of %queue-play and the same with %queue-add could be !add or -add. I would imagine it could be doable but it would depend if you cant have them because of a conflict with regex or something.

Also I can change the volume with no problem on Spotify but when YouTube links are added they blow everyone's ears off, im gonna assume that would be the same with soundcloud as it would play from a hidden browser where I got no way of controlling the volume. Is there a config file or a place where the volume could be hard coded before the bot starts?

Multi-instance Support

Are there any plans on adding multi-instance support?

I'm doing this Web Application for my TeamSpeak server where people can make channels. I was thinking of giving each channel a MusicBot and for this multi-instance would be great because it would save a lot of resources.

I know things like Spotify would not work because you can only play 1 song at a time but even if it's just YouTube would be really nice.

Before I was using:
https://github.com/Splamy/TS3AudioBot
Which has multi-instance and uses a self written TeamSpeak Client.
But the project has been dead for a while now.

Are you still interested in developing this bot? I'm also a developer maybe we can share some notes if you are still interested?

If you want add me on discord: hardrevo

Move bot to room using commands?

Hello, was wondering if there is a way to get the bot to move to a room when a user requests the bot to move? Would something else be needed for the teamspeak client to allow this to be done?

For example, if a user is in a different room and the bot is in a place holder room, if the user requests the bot %come the bot moves to the room and when the user is done using the bot %goaway the bot goes back to the place holder room.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.