Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.
If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!
Now, what are you waiting for? Join the community now!
I uploaded it on my Mediafire account: https://www.mediafire.com/?a5ps637373cmscb
I don't own the work of LeVence but I didn't find an official link to his addon, so I allow myself to upload ^^
I uploaded it on my Mediafire account: https://www.mediafire.com/?a5ps637373cmscb
All the work and rights go to Levence, the creator of the addon
The documentation:
This handy addon allows you to communicate with a TeamSpeak3³ instance in Skript!
Just simply put SKVoice into your plugins folder and get new experience of coding.
❖ Sending channel messages to query instance
❖ Sending broadcast messages to query instance
❖ Able to kick online clients by ID
❖ Able to tempban on- & offline clients by ID
❖ Able to permban on- & offline clients by ID
❖ Able to poke online clients by ID
❖ Able to send private messages to online clients
❖ Adding group(s) to on- & offline clients
❖ Removing group(s) from on- & offline clients
❖ Changing description of online clients
❖ Removing description from online clients
❖ Able to unban clients by ID
❖ Able to delete all ban entries
❖ Checking connection state of query
❖ Checking online state of clients by ID
❖ Checking ban state of clients by ID
❖ Checking if clients are in a specific group
❖ Able to get nicknames of on- & offline clients
❖ Able to get last ip-addresses of on- & offline clients
❖ Able to get descriptions of online clients
❖ I[/I] Able to get identities of online- & offline clients by nickname
❖ I[/I] Able to get identities of online- & offline clients by ip-address
❖ I[/I] Able to create a new privilege key by group id
❖ I[/I] Able to get identities of all online clients
✎ Note: "ID" means the identity value of a client.
► EFFECTS (16):
● Connecting to TeamSpeak³ server:
(teamspeak|ts) [server] connect to %string% with user %string% and (login|credentials) %string%, %string% [on query port %integer%] [at flood level %string%]
● Disconnecting from TeamSpeak³ server:
(teamspeak|ts) [server] disconnect
● Sending channel message to instance:
(teamspeak|ts) [server] send channel message %string%
● Sending broadcast message to instance:
(teamspeak|ts) [server] send broadcast message %string%
● Kicking online client from instance:
(teamspeak|ts) [server] kick client %string% (due to|because) %string% from server
● Banning on- & offline client temporary:
(teamspeak|ts) [server] tempban client %string% (due to|because) %string% for %integer% seconds
● Banning on- & offline client permanently:
(teamspeak|ts) [server] ban client %string% (due to|because) %string%
● Poke'ing online client with message:
(teamspeak|ts) [server] poke client %string% with (text|message) %string%
● Sending private message to online client:
(teamspeak|ts) [server] send private (text|message) %string% to client %string%
● Adding on- & offline client to group:
(teamspeak|ts) [server] add client %string% to group id %integer%
● Removing on- & offline client from group:
(teamspeak|ts) [server] remove client %string% from group id %integer%
● Changing description of online client:
(teamspeak|ts) [server] change description of client %string% to %string%
● Removing description of online client:
(teamspeak|ts) [server] remove description of client %string%
● (v1.1.0+) Creating and returns a new privilege key by group id:
[set %variable% to] new (teamspeak|ts) privilege key by group id %string%
● Deleting all ban entries from instance:
(teamspeak|ts) [server] delete all ban entries
● Unbanning client from instance:
(teamspeak|ts) [server] unban client %string%
► EXPRESSIONS (6):
● Returns the nickname of specific on- & offline client:
(teamspeak|ts) (name|nickname) of client %string%
%string%'s (teamspeak|ts) (name|nickname)
● Returns the ip-address of specific on- & offline client:
(teamspeak|ts) (ip|address) of client %string%
%string%'s (teamspeak|ts) (ip|address)
● Returns the description of specific on- & offline client:
(teamspeak|ts) description of client %string%
%string%'s (teamspeak|ts) description
● (v1.1.0+) Returns identities of online- & offline clients who's name is specific string:
(teamspeak|ts) get client\[s\] by (name|nickname) %string%
● (v1.1.0+) Returns identities of online - & offline clients who's IP is specific string:
(teamspeak|ts) get client\[s\] by (ip|address) %string%
● (v1.1.0+) Returns identities of all online clients (looping this will may cause lags):
[set %variable% to] [all] online clients
► CONDITIONS (4):
● Returns if query is connected or not: (Type: BOOLEAN)
(teamspeak|ts) connection state
● Returns if specific client is online or offline: (Type: BOOLEAN)
(teamspeak|ts) online state of client %string%
%string%'s (teamspeak|ts) online state
● Returns if specific client is banned or not: (Type: BOOLEAN)
(teamspeak|ts) ban state of client %string%
%string%'s (teamspeak|ts) ban state
● Returns if specific client is in specific group: (Type: BOOLEAN)
(teamspeak|ts) client %string% check group id %integer%
✔ Step 1: Connect through socket to your TeamSpeak³ server!
# valid flood levels: DEFAULT and UNLIMITED (only for whitelisted IPs)
on skript load:
ts connect to "127.0.0.1:9987" with user "Test" and credentials "query-user", "query-pw" on query port 10011 at flood level "DEFAULT"
```
✔ Step 2: Use any effect, expression or condition from the documentation!
here's an example - poking an online client
example client identity: dTDZSALoDlcfGQLuFbhPoLSeF8=
command /poke [] []:
trigger:
if teamspeak connection state is false:
message "Can't poke client because no query is connected!"
else:
ts poke client arg-1 with message arg-2
```
# here's an another example - banning an online- & offline client temporary
# example client identity: dTDZSALoDlcfGQLuFbhPoLSeF8=
command /tempban [] [] []:
trigger:
if teamspeak connection state is false:
message "Can't ban client because no query is connected!"
else:
ts tempban client arg-1 due to arg-2 for arg-3 seconds
```
✔ Step 3 (optional): Close socket after unloading Skript!
on skript unload:
if teamspeak connection state is true:
teamspeak server disconnect
► Why query doesn't connect to TeamSpeak³ server?
➽ Make sure you're using valid credentials (& query port) - I also suggest to add the ip address of your minecraft server to query whitelist file to avoid getting banned for e.g. command flood.
► Why is my server lagging when executing query commands?
➽ Unfortunately this is the only disadvantage but you can whitelist the ip address of your minecraft server to query whitelite file and try to use flood level 'UNLIMITED'.
► Why do I always get "Client couldn't be find!" message?
➽ If your specific client is online but can't be find by connected query, you'll need to check the permissions of all query groups.
► Where can I get query credentials / create query user?
➽ Go to "Tools" >> "ServerQuery Login", enter a random query name. Then you'll have successfully created a new query user.
► Why does query close connection automatically after a while?
➽ Please ask your teamspeak - and minecraft server hoster.
► Why does nothing happens after using effect / expression?
➽ Please view the latest log file / your console.
► Where can I get the source code of this project?
➽ Currently nowhere, sorry.
✎ Do you have another problem which isn't listed here?
✔ Write below this post or PM me and I'll help you as fast as I can!
> <a class="attachment" href="/uploads/default/original/2X/c/c000faae800795d1f531ded8d7c2384f6f35d12a.jar">SKVoice v1.0.0</a> (300,4 KB) [01/10/16 | 10.01.16]
<a class="attachment" href="/uploads/default/original/2X/6/6e9afdf9d893077b01bdadc8d8dbecc97d08bfab.jar">SKVoice v1.1.0</a> (397,5 KB) [01/16/16 | 16.01.16]
ATTENTION: The latest file of this list above is the newest! (v1.1.0)
(Compatible with Java 7 and higher & Spigot 1.7 and higher.)