Add "migrate" command
This commit is contained in:
		
							parent
							
								
									3463907670
								
							
						
					
					
						commit
						21c1e3fbb3
					
				
					 3 changed files with 32 additions and 0 deletions
				
			
		|  | @ -17,6 +17,7 @@ struct Cli { | ||||||
| 
 | 
 | ||||||
| #[derive(Subcommand)] | #[derive(Subcommand)] | ||||||
| pub enum Commands { | pub enum Commands { | ||||||
|  |     Info, | ||||||
|     Channels(ChannelsArgs), |     Channels(ChannelsArgs), | ||||||
|     Clients, |     Clients, | ||||||
|     Fetch(FetchArgs), |     Fetch(FetchArgs), | ||||||
|  |  | ||||||
							
								
								
									
										20
									
								
								src/main.rs
									
										
									
									
									
								
							
							
						
						
									
										20
									
								
								src/main.rs
									
										
									
									
									
								
							|  | @ -47,6 +47,26 @@ fn main() -> Result<(), Error> { | ||||||
|     // You can check for the existence of subcommands, and if found use their
 |     // You can check for the existence of subcommands, and if found use their
 | ||||||
|     // matches just as you would the top level cmd
 |     // matches just as you would the top level cmd
 | ||||||
|     match cli { |     match cli { | ||||||
|  |         Commands::Info => { | ||||||
|  |             let client = match wrappers::find_self(&mut connection) { | ||||||
|  |                 Ok(client) => client, | ||||||
|  |                 Err(msg) => return Err(make_action_error("find self", msg)) | ||||||
|  |             }; | ||||||
|  |             
 | ||||||
|  |             let channel_name: String = match wrappers::find_channel(&mut connection, "cid", &client.cid.to_string(), true) { | ||||||
|  |                 Ok(channel) => match channel { | ||||||
|  |                     Some(channel) => channel.channel_name, | ||||||
|  |                     None => return Err(to_other_error("Channel not found.".to_string())) | ||||||
|  |                 }, | ||||||
|  |                 Err(msg) => return Err(make_action_error("find self", msg)) | ||||||
|  |             }; | ||||||
|  |             
 | ||||||
|  |             println!("Client: {}", client.client_nickname); | ||||||
|  |             println!("Channel: {}", channel_name); | ||||||
|  |             println!("Channel ID: {}", client.cid); | ||||||
|  |             println!("Client ID: {}", client.clid); | ||||||
|  |         } | ||||||
|  |         
 | ||||||
|         Commands::Channels(args) => { |         Commands::Channels(args) => { | ||||||
|             match wrappers::get_channels(&mut connection, args.spacers) { |             match wrappers::get_channels(&mut connection, args.spacers) { | ||||||
|                 Ok(channels) => { |                 Ok(channels) => { | ||||||
|  |  | ||||||
							
								
								
									
										11
									
								
								ts-control
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								ts-control
									
										
									
									
									
								
							|  | @ -4,6 +4,7 @@ actions="quick | ||||||
| move | move | ||||||
| fetch-client | fetch-client | ||||||
| fetch-channel | fetch-channel | ||||||
|  | migrate | ||||||
| away | away | ||||||
| not away | not away | ||||||
| back | back | ||||||
|  | @ -45,6 +46,13 @@ _ts_control_fetch() { | ||||||
| 	teamspeak-query-lib fetch "--strict-$1" "--$1" "$target" | 	teamspeak-query-lib fetch "--strict-$1" "--$1" "$target" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | _ts_control_migrate() { | ||||||
|  | 	target=$(_ts_control_get_entity "channel" "$2") | ||||||
|  |   current_channel=$(teamspeak-query-lib info | grep "Channel: " | sed 's/Channel: //') | ||||||
|  |   _ts_control_move_self "$target" | ||||||
|  | 	teamspeak-query-lib fetch "--strict-channel" "--channel" "$current_channel" | ||||||
|  | } | ||||||
|  | 
 | ||||||
| _ts_control_single_or_dmenu() { | _ts_control_single_or_dmenu() { | ||||||
| 	filter="$2" | 	filter="$2" | ||||||
| 	if [ "$filter" == "^$" ]; then | 	if [ "$filter" == "^$" ]; then | ||||||
|  | @ -128,6 +136,9 @@ case $action in | ||||||
| 	"fetch-channel") | 	"fetch-channel") | ||||||
| 		_ts_control_fetch channel "$2" | 		_ts_control_fetch channel "$2" | ||||||
| 		;; | 		;; | ||||||
|  |   "migrate") | ||||||
|  |     _ts_control_migrate "$2" | ||||||
|  |     ;; | ||||||
| 	"not away") | 	"not away") | ||||||
| 		teamspeak-query-lib move "Not Away From Keyboard" | 		teamspeak-query-lib move "Not Away From Keyboard" | ||||||
| 		teamspeak-query-lib update --microphone=false --speakers=false | 		teamspeak-query-lib update --microphone=false --speakers=false | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue