mirror of https://github.com/icedream/ts3bot.git
				
				
				
			Use bookmarks to force the client to mute playback.
							parent
							
								
									d3cc87cf81
								
							
						
					
					
						commit
						0bca1a63ad
					
				|  | @ -8,6 +8,7 @@ TS3ClientQuery = require("../ts3query") | ||||||
| path = require "path" | path = require "path" | ||||||
| merge = require "merge" | merge = require "merge" | ||||||
| fs = require "fs" | fs = require "fs" | ||||||
|  | url = require "url" | ||||||
| spawn = require("child_process").spawn | spawn = require("child_process").spawn | ||||||
| StreamSplitter = require("stream-splitter") | StreamSplitter = require("stream-splitter") | ||||||
| require_bin = require("../require_bin") | require_bin = require("../require_bin") | ||||||
|  | @ -36,8 +37,14 @@ module.exports = class TS3ClientService extends services.Service | ||||||
| 				cb? null, @process | 				cb? null, @process | ||||||
| 				return | 				return | ||||||
| 
 | 
 | ||||||
|  | 			uri = null | ||||||
| 			if not args | 			if not args | ||||||
| 				args = [] | 				args = [] | ||||||
|  | 			for v in args | ||||||
|  | 				if v.indexOf("ts3server:") != 0 | ||||||
|  | 					continue | ||||||
|  | 				uri = v | ||||||
|  | 				break | ||||||
| 
 | 
 | ||||||
| 			await fs.access ts3client_binpath, fs.R_OK | fs.X_OK, defer err | 			await fs.access ts3client_binpath, fs.R_OK | fs.X_OK, defer err | ||||||
| 			if err | 			if err | ||||||
|  | @ -45,7 +52,7 @@ module.exports = class TS3ClientService extends services.Service | ||||||
| 				cb? new Error "Access to TeamSpeak3 binary failed." | 				cb? new Error "Access to TeamSpeak3 binary failed." | ||||||
| 				return | 				return | ||||||
| 
 | 
 | ||||||
| 			await @_preconfigure defer() | 			await @_preconfigure uri, defer() | ||||||
| 
 | 
 | ||||||
| 			# spawn process | 			# spawn process | ||||||
| 			proc = null | 			proc = null | ||||||
|  | @ -185,7 +192,9 @@ module.exports = class TS3ClientService extends services.Service | ||||||
| 
 | 
 | ||||||
| 		cb?() | 		cb?() | ||||||
| 
 | 
 | ||||||
| 	_preconfigure: (cb) => | 	_preconfigure: (uriString, cb) => | ||||||
|  | 		uri = url.parse(uriString, true, true) if uriString? | ||||||
|  | 
 | ||||||
| 		ts3settings = new TS3Settings config.get("ts3-config-path") | 		ts3settings = new TS3Settings config.get("ts3-config-path") | ||||||
| 		await ts3settings.open defer() | 		await ts3settings.open defer() | ||||||
| 
 | 
 | ||||||
|  | @ -270,6 +279,21 @@ module.exports = class TS3ClientService extends services.Service | ||||||
| 			[ "Statistics", "ConfirmedParticipation", "1" ] | 			[ "Statistics", "ConfirmedParticipation", "1" ] | ||||||
| 		], defer() | 		], defer() | ||||||
| 
 | 
 | ||||||
|  | 		if uri? | ||||||
|  | 			bookmarkId = "{5125344e-45ec-4510-9bbf-8b940628c5d0}" | ||||||
|  | 			await ts3settings.set "Bookmarks", bookmarkId, { | ||||||
|  | 				Name: uriString | ||||||
|  | 				Address: uri.host or "localhost" | ||||||
|  | 				Port: uri.port or 9987 | ||||||
|  | 				CaptureProfile: "Default" | ||||||
|  | 				PlaybackProfile: "" | ||||||
|  | 				Identity: "Standard" | ||||||
|  | 				Nick: uri.nickname or config.get("nickname") or "TS3Bot" | ||||||
|  | 				Autoconnect: false | ||||||
|  | 				ShowServerQueryClients: false | ||||||
|  | 				Uuid: bookmarkId | ||||||
|  | 				}, defer() | ||||||
|  | 
 | ||||||
| 		await ts3settings.close defer() | 		await ts3settings.close defer() | ||||||
| 
 | 
 | ||||||
| 		cb?() | 		cb?() | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue