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 +5 -5
- data/CHANGELOG.md +5 -0
- data/lib/exceptions.rb +1 -0
- data/lib/exceptions/max_slot_limit_reached.rb +9 -0
- data/lib/query_account.rb +19 -0
- data/lib/server.rb +20 -0
- data/lib/teamspeak3.rb +2 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4bebe083b0e4cee5773974e0be78e77f6680fbb9b6cb55bbdc94b63025e1ef3e
|
4
|
+
data.tar.gz: f0cc6ed512db322c8f62068a47c6309d1a7204790a6427a5028ee7f3d24cf20c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69048c150b84329a98dc2c7070b093c01e667a8afa9353aea8faee8ca769c72be44b0421e5d51f80fb627c52c39461d068ff1b933aa5252be9f9b2881ea036c6
|
7
|
+
data.tar.gz: a73175a6013b5dd7a3fe3a9057b2141fedf744c2b7593dd3e8c808ad5847c4bb22a624b0ba0ddb1700b0a42da7b3291f5fc68fa3c767493188c84537edce4b05
|
data/CHANGELOG.md
CHANGED
@@ -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.
|
data/lib/exceptions.rb
CHANGED
@@ -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,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
|
data/lib/server.rb
CHANGED
@@ -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
|
data/lib/teamspeak3.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'net/telnet'
|
2
2
|
|
3
3
|
module TeamSpeak3
|
4
|
-
VERSION = "0.0.
|
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
|
+
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-
|
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.
|
124
|
+
rubygems_version: 2.7.3
|
123
125
|
signing_key:
|
124
126
|
specification_version: 4
|
125
127
|
summary: A TeamSpeak 3 Query Library
|