TS3MusicBot is Discord compatible!
By Shadow86
#8196
About the Hoster API

With the TS3MusicBot hoster API you can completely automate the license and settings management from your shop site/hosting system.

Your system can call the TS3MusicBot hoster API to create a new license, change the ip:port, save settings or reset settings.
The hoster API respond with json output.

After adding a clean account without an active license you have to start the bots with "-secretkey xxxxxxxxxxxxxxxxxxxx".

They will automatically extend their license day by day if your account balance on the reseller site is charged. The price for one day is calculated: (your_license_price / 30).

How to call the Hoster API

First of all generate a secret hoster key for your account (Only you/your system will know this secret key). Without a secret hoster key you can't access the TS3MusicBot hoster API

Call URL: http://ts3musicbot.net/hoster-api.phpMethod: POST


Create a new License Account

Post parameters

$post_data = array( 'hosterkey' => 'xxxxxxxxxxxxxxxxxxxx', 'mode' => 'createlicense', 'teamspeakip' => 'ip:port');


Response

{"response":{"account":"mainaccount@email.xy_reseller14"}}


=== Delete a license account ===Post parameters

$post_data = array( 'hosterkey' => 'xxxxxxxxxxxxxxxxxxxx', 'mode' => 'deletelicense', 'ts3_musicbot_account' => 'mainaccount@email.xy_reseller14');


Response

{"response":{"status":"success"}}or{"response":{"status":"failed"}}


Change IP:Port

Post parameter

$post_data = array( 'hosterkey' => 'xxxxxxxxxxxxxxxxxxxx', 'mode' => 'changeip', 'ts3_musicbot_account' => 'mainaccount@email.xy_reseller14', 'teamspeakip' => 'ip:port');


Response

{"response":{"status":"success"}}or{"response":{"status":"failed"}}
Note: This example shows the post parameters to change the ip:port for account mainaccount@email.xy_reseller14.


Save Settings

Minimal post parameters

$post_data = array( 'hosterkey' => 'xxxxxxxxxxxxxxxxxxxx', 'mode' => 'savesettings', 'ts3_musicbot_account' => 'mainaccount@email.xy_reseller14', 'ts3_server_query_password' => 'querypassword');


All available post parameters

$post_data = array( 'hosterkey' => 'xxxxxxxxxxxxxxxxxxxx', 'mode' => 'savesettings', 'ts3_musicbot_account' => 'mainaccount@email.xy_reseller14', 'ts3_server_query_password' => 'querypassword', 'ts3_server_query_login' => 'serveradmin', 'ts3_server_password' => 'ts3password', 'ts3_server_query_port' => '10011', 'ts3_virtualserver_id' => '-1', //TS3MusicBot will connect with the port instead if no virtualserver id is set. 'ts3_musicbot_name' => 'MusicBot', //Client name visible on the ts3 server. 'bot_admin_list' => '', 'radio_admin_list' => '', 'radio_admin_server_group_id' => '', 'welcomesound_enable' => '0', 'welcome_sound_music_file' => '', 'welcome_sound_say_message' => '', 'bot_channel_id' => '-1', 'youtube_proxy' => '', 'autostop_channel_empty' => '0', 'welcome_sound_say_language' => '0', 'bot_server_query_name' => 'TS3MusicBot', 'channel_notifications_enable' => '1', 'send_radio_infos' => '1', 'autostart' => 'music/xyz.mp3', //file, folder or youtube link/playlist 'repeat' => '0', //repeat function for autostart 'initial_volume' => '30');


Response

{"response":{"status":"success"}}or{"response":{"status":"failed"}}


Get Settings

Post parameters

$post_data = array( 'hosterkey' => 'xxxxxxxxxxxxxxxxxxxx', 'mode' => 'getsettings', 'ts3_musicbot_account' => 'mainaccount@email.xy_reseller14');


Response

{"teamspeakIp":"example.net:9987","ts3_server_password":"$ts3_server_password","ts3_server_query_port":"$ts3_server_query_port","ts3_server_query_login":"$ts3_server_query_login","ts3_server_query_password":"$ts3_server_query_password","ts3_virtualserver_id": "$ts3_virtualserver_id","ts3_musicbot_name":"$ts3_musicbot_name","bot_admin_list":"$bot_admin_list","radio_admin_list":"$radio_admin_list","radio_admin_server_group_id":"$radio_admin_server_group_id","welcomesound_enable":"$welcomesound_enable", "welcome_sound_music_file":"$welcome_sound_music_file","welcome_sound_say_message":"$welcome_sound_say_message","ts3_musicbot_account":"dev1@ts3musicbot.net_reseller2","bot_channel_id":"$bot_channel_id","youtube_proxy":"$youtube_proxy", "autostop_channel_empty":"$autostop_channel_empty","welcome_sound_say_language":"$welcome_sound_say_language","bot_server_query_name":"$bot_server_query_name","send_radio_infos":"$send_radio_infos","autostart":"$autostart","autostart_repeat":"$repeat", "autostart_volume":"$volume","channel_notifications_enable":"$channel_notifications_enable"}


Reset Settings

Post parameters

$post_data = array( 'hosterkey' => 'xxxxxxxxxxxxxxxxxxxx', 'mode' => 'resetsettings', 'ts3_musicbot_account' => 'mainaccount@email.xy_reseller14');


Response

{"response":{"status":"success"}}or{"response":{"status":"failed"}}



Note: The settings of mainaccount@email.xy_reseller14 will be deleted this way, so you have to save new settings to run the bot with account mainaccount@email.xy_reseller14 again.