teamspeak3 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 1f29c3659a40d129e7a749f5d3e91bc11530718f
4
- data.tar.gz: f5c472bdbae695325c1882fa9231aaa5da62bac5
2
+ SHA256:
3
+ metadata.gz: 4bebe083b0e4cee5773974e0be78e77f6680fbb9b6cb55bbdc94b63025e1ef3e
4
+ data.tar.gz: f0cc6ed512db322c8f62068a47c6309d1a7204790a6427a5028ee7f3d24cf20c
5
5
  SHA512:
6
- metadata.gz: 7d125a3d63f88d2340357f42ff3860e15d18d8c284f7a682ae8213ab2c6a9926b8ddd9013dda593234c7feddabdfbffad32c6c4ebb7f047067c9d3a7ca6cd715
7
- data.tar.gz: 80f2694136606027b437b7e19e2da9dd2e3c417e177900666f6da0959e5fe798eb0d1dfdf3f1979a73f181002d0e144e8bb9420c93723d2405e51aad5e852bb2
6
+ metadata.gz: 69048c150b84329a98dc2c7070b093c01e667a8afa9353aea8faee8ca769c72be44b0421e5d51f80fb627c52c39461d068ff1b933aa5252be9f9b2881ea036c6
7
+ data.tar.gz: a73175a6013b5dd7a3fe3a9057b2141fedf744c2b7593dd3e8c808ad5847c4bb22a624b0ba0ddb1700b0a42da7b3291f5fc68fa3c767493188c84537edce4b05
@@ -1,3 +1,8 @@
1
+ ## Release 0.0.5 (unknown)
2
+
3
+ * Add `TeamSpeak3::QueryAccount` to modify the logged in query account. (Accessible via `TeamSpeak3::Server#query_account`)
4
+ * Add `TeamSpeak3::Server#create` to create virtual servers
5
+
1
6
  ## Release 0.0.4 (2018-03-11)
2
7
 
3
8
  * Add `TeamSpeak3::VERSION` to fetch the current version of this library.
@@ -6,6 +6,7 @@ require_relative 'exceptions/command_execution_failed.rb'
6
6
  require_relative 'exceptions/invalid_kick_action.rb'
7
7
  require_relative 'exceptions/invalid_target.rb'
8
8
  require_relative 'exceptions/invalid_target_type.rb'
9
+ require_relative 'exceptions/max_slot_limit_reached.rb'
9
10
  require_relative 'exceptions/not_connected.rb'
10
11
  require_relative 'exceptions/query_login_failed.rb'
11
12
  require_relative 'exceptions/server_connection_failed.rb'
@@ -0,0 +1,9 @@
1
+ module TeamSpeak3
2
+ module Exceptions
3
+ class MaxSlotLimitReached < TeamSpeak3::Exceptions::StandardException
4
+ def initialize(message)
5
+ @message = message
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ module TeamSpeak3
2
+ class QueryAccount
3
+ attr_reader :nickname
4
+
5
+ def initialize(server, nickname)
6
+ @server = server
7
+ @nickname = nickname
8
+ end
9
+
10
+ def nickname=(nickname)
11
+ @server.execute :clientupdate, client_nickname: nickname
12
+ @nickname = nickname
13
+ end
14
+
15
+ def to_s
16
+ @nickname
17
+ end
18
+ end
19
+ end
@@ -1,6 +1,7 @@
1
1
  module TeamSpeak3
2
2
  class Server
3
3
  attr_reader :ip_address
4
+ attr_reader :query_account
4
5
  attr_reader :query_port
5
6
  attr_reader :socket
6
7
  attr_reader :active_server
@@ -44,6 +45,8 @@ module TeamSpeak3
44
45
  raise TeamSpeak3::Exceptions::QueryLoginFailed, err.message
45
46
  end
46
47
 
48
+ @query_account = QueryAccount.new(self, query_user)
49
+
47
50
  true
48
51
  end
49
52
 
@@ -63,6 +66,23 @@ module TeamSpeak3
63
66
  server_list
64
67
  end
65
68
 
69
+ def create(params = {})
70
+ creation_params = {}
71
+
72
+ creation_params[:virtualserver_name] = params[:name] if params[:name]
73
+ creation_params[:virtualserver_port] = params[:port] if params[:port]
74
+ creation_params[:virtualserver_maxclients] = params[:slots] if params[:slots]
75
+
76
+ creation_params.merge!(params)
77
+
78
+ begin
79
+ response = execute :servercreate, creation_params
80
+ { server_id: response[:data][0][:sid].to_i, token: response[:data][0][:token], port: response[:data][0][:virtualserver_port] }
81
+ rescue Exceptions::CommandExecutionFailed => err
82
+ raise Exceptions::MaxSlotLimitReached.new('Max slot limit has been reached') if err.message =~ /max slot limit reached/
83
+ end
84
+ end
85
+
66
86
  def kick_client!(client_id, action, reason = nil)
67
87
  action_id = nil
68
88
  action_id = 4 if action == :channel
@@ -1,7 +1,7 @@
1
1
  require 'net/telnet'
2
2
 
3
3
  module TeamSpeak3
4
- VERSION = "0.0.4"
4
+ VERSION = "0.0.5"
5
5
  end
6
6
 
7
7
  # exceptions shall be required first
@@ -12,6 +12,7 @@ require_relative 'channel.rb'
12
12
  require_relative 'channel_collection.rb'
13
13
  require_relative 'client.rb'
14
14
  require_relative 'command_parameter.rb'
15
+ require_relative 'query_account.rb'
15
16
  require_relative 'virtual_server.rb'
16
17
  require_relative 'server_response.rb'
17
18
  require_relative 'server.rb'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teamspeak3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel Schnitzer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-11 00:00:00.000000000 Z
11
+ date: 2018-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet
@@ -88,10 +88,12 @@ files:
88
88
  - lib/exceptions/invalid_kick_action.rb
89
89
  - lib/exceptions/invalid_target.rb
90
90
  - lib/exceptions/invalid_target_type.rb
91
+ - lib/exceptions/max_slot_limit_reached.rb
91
92
  - lib/exceptions/not_connected.rb
92
93
  - lib/exceptions/query_login_failed.rb
93
94
  - lib/exceptions/server_connection_failed.rb
94
95
  - lib/exceptions/standard_exception.rb
96
+ - lib/query_account.rb
95
97
  - lib/server.rb
96
98
  - lib/server_response.rb
97
99
  - lib/teamspeak3.rb
@@ -119,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
119
121
  version: '0'
120
122
  requirements: []
121
123
  rubyforge_project:
122
- rubygems_version: 2.2.5
124
+ rubygems_version: 2.7.3
123
125
  signing_key:
124
126
  specification_version: 4
125
127
  summary: A TeamSpeak 3 Query Library