added query events
This commit is contained in:
parent
12303e6b6f
commit
8ec66238aa
@ -1,5 +1,7 @@
|
|||||||
package cf.semikolon.teamspeak;
|
package cf.semikolon.teamspeak;
|
||||||
|
|
||||||
|
import cf.semikolon.teamspeak.query.QueryEvents;
|
||||||
|
import cf.semikolon.teamspeak.query.ServerQuery;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -9,8 +11,10 @@ public class MainClass extends JavaPlugin {
|
|||||||
|
|
||||||
private static MainClass INSTANCE;
|
private static MainClass INSTANCE;
|
||||||
private ServerQuery serverQuery;
|
private ServerQuery serverQuery;
|
||||||
|
private RandomString randomString;
|
||||||
|
|
||||||
FileSystem cfg = new FileSystem("TeamspekAuth", "config") {
|
|
||||||
|
private FileSystem cfg = new FileSystem("TeamSpeakAuth", "config") {
|
||||||
@Override
|
@Override
|
||||||
public void initConfig() {
|
public void initConfig() {
|
||||||
getCfg().set("tsHost", "127.0.0.1");
|
getCfg().set("tsHost", "127.0.0.1");
|
||||||
@ -25,15 +29,15 @@ public class MainClass extends JavaPlugin {
|
|||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
INSTANCE = this;
|
INSTANCE = this;
|
||||||
System.out.println("Plugin TeamspeakAuth by Semikolon\nconnecting...");
|
this.randomString = new RandomString(6);
|
||||||
serverQuery = new ServerQuery(cfg.getCfg().getString("tsHost"),
|
System.out.println("Plugin TeamSpeakAuth by Semikolon\nconnecting...");
|
||||||
|
this.serverQuery = new ServerQuery(cfg.getCfg().getString("tsHost"),
|
||||||
cfg.getCfg().getInt("queryPort"),
|
cfg.getCfg().getInt("queryPort"),
|
||||||
cfg.getCfg().getInt("tsPort"),
|
cfg.getCfg().getInt("tsPort"),
|
||||||
cfg.getCfg().getString("queryUser"),
|
cfg.getCfg().getString("queryUser"),
|
||||||
cfg.getCfg().getString("queryPassword"),
|
cfg.getCfg().getString("queryPassword"),
|
||||||
cfg.getCfg().getString("botNickname"));
|
cfg.getCfg().getString("botNickname"));
|
||||||
|
this.serverQuery.getApi().addTS3Listeners(new QueryEvents());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -44,4 +48,12 @@ public class MainClass extends JavaPlugin {
|
|||||||
public static MainClass getInstance() {
|
public static MainClass getInstance() {
|
||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ServerQuery getServerQuery() {
|
||||||
|
return serverQuery;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RandomString getRandomString() {
|
||||||
|
return randomString;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
38
src/main/java/cf/semikolon/teamspeak/RandomString.java
Normal file
38
src/main/java/cf/semikolon/teamspeak/RandomString.java
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package cf.semikolon.teamspeak;
|
||||||
|
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by jan on 26.07.16.
|
||||||
|
* from StackOverflow
|
||||||
|
*/
|
||||||
|
public class RandomString {
|
||||||
|
|
||||||
|
private static final char[] symbols;
|
||||||
|
|
||||||
|
static {
|
||||||
|
StringBuilder tmp = new StringBuilder();
|
||||||
|
for (char ch = '0'; ch <= '9'; ++ch)
|
||||||
|
tmp.append(ch);
|
||||||
|
for (char ch = 'a'; ch <= 'z'; ++ch)
|
||||||
|
tmp.append(ch);
|
||||||
|
symbols = tmp.toString().toCharArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
private final Random random = new Random();
|
||||||
|
|
||||||
|
private final char[] buf;
|
||||||
|
|
||||||
|
public RandomString(int length) {
|
||||||
|
if (length < 1)
|
||||||
|
throw new IllegalArgumentException("length < 1: " + length);
|
||||||
|
buf = new char[length];
|
||||||
|
}
|
||||||
|
|
||||||
|
public String nextString() {
|
||||||
|
for (int idx = 0; idx < buf.length; ++idx)
|
||||||
|
buf[idx] = symbols[random.nextInt(symbols.length)];
|
||||||
|
return new String(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
94
src/main/java/cf/semikolon/teamspeak/query/QueryEvents.java
Normal file
94
src/main/java/cf/semikolon/teamspeak/query/QueryEvents.java
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
package cf.semikolon.teamspeak.query;
|
||||||
|
|
||||||
|
import cf.semikolon.teamspeak.MainClass;
|
||||||
|
import com.github.theholywaffle.teamspeak3.api.TextMessageTargetMode;
|
||||||
|
import com.github.theholywaffle.teamspeak3.api.event.*;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by jan on 26.07.16.
|
||||||
|
*/
|
||||||
|
public class QueryEvents implements TS3Listener {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTextMessage(TextMessageEvent textMessageEvent) {
|
||||||
|
if (textMessageEvent.getTargetMode() == TextMessageTargetMode.CLIENT) {
|
||||||
|
String message = textMessageEvent.getMessage().toLowerCase();
|
||||||
|
switch (message) {
|
||||||
|
case "!botversion":
|
||||||
|
MainClass.getInstance().getServerQuery().getApi().sendPrivateMessage(textMessageEvent.getInvokerId(), "");
|
||||||
|
break;
|
||||||
|
case "!botinfo":
|
||||||
|
MainClass.getInstance().getServerQuery().getApi().sendPrivateMessage(textMessageEvent.getInvokerId(), "");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (message.contains("!verify")) {
|
||||||
|
String[] array = message.split(" ");
|
||||||
|
if (array.length == 2) {
|
||||||
|
String mcNick = array[1];
|
||||||
|
Player player = Bukkit.getPlayer(mcNick);
|
||||||
|
if (player != null) {
|
||||||
|
String authKey = MainClass.getInstance().getRandomString().nextString();
|
||||||
|
player.sendMessage("§9[TeamSpeakAuth] §7Dein Verifizierungscode:" + authKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClientJoin(ClientJoinEvent clientJoinEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClientLeave(ClientLeaveEvent clientLeaveEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onServerEdit(ServerEditedEvent serverEditedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChannelEdit(ChannelEditedEvent channelEditedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChannelDescriptionChanged(ChannelDescriptionEditedEvent channelDescriptionEditedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClientMoved(ClientMovedEvent clientMovedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChannelCreate(ChannelCreateEvent channelCreateEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChannelDeleted(ChannelDeletedEvent channelDeletedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChannelMoved(ChannelMovedEvent channelMovedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onChannelPasswordChanged(ChannelPasswordChangedEvent channelPasswordChangedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPrivilegeKeyUsed(PrivilegeKeyUsedEvent privilegeKeyUsedEvent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -1,9 +1,8 @@
|
|||||||
package cf.semikolon.teamspeak;
|
package cf.semikolon.teamspeak.query;
|
||||||
|
|
||||||
import com.github.theholywaffle.teamspeak3.TS3ApiAsync;
|
import com.github.theholywaffle.teamspeak3.TS3ApiAsync;
|
||||||
import com.github.theholywaffle.teamspeak3.TS3Config;
|
import com.github.theholywaffle.teamspeak3.TS3Config;
|
||||||
import com.github.theholywaffle.teamspeak3.TS3Query;
|
import com.github.theholywaffle.teamspeak3.TS3Query;
|
||||||
import com.github.theholywaffle.teamspeak3.api.reconnect.ReconnectStrategy;
|
|
||||||
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user