Hallöchen alle zusammen.
Ich hab folgendes Problem.
Ich bastel gerade einen Bot für TS. Der soll bei einem bestimmten Befehl dem User eine festgelegte Servergruppe verpassen.
Das ganze versuch ich mit den Events die die API bietet.
Das wäre dann das
ClientJoinEvent
und das
TextMessageEvent
Im Client Join Event hab ich die Möglichgeit mit getClientDatabaseId die Datenbank ID des Clienten ab zu rufen, der die Nachricht an den Bot geschickt hat. Diese brauch ich auch um dem Clienten die Servergruppe zu zu ordnen.
Jetzt hab ich das Problem, dass es diese Möglichkeit im TextMessageEvent nicht gibt.
Kennt einer eine Möglichkeit, wie ich jetzt auf das getClientDatabaseId aus dem ClientJoinEvent in dem TextMessageEvent zugreifen kann?
Hier mal noch der Code, der einzelnen Events:
TextMessageEvent:
@Override
public void onTextMessage(TextMessageEvent e) {
for(Client c : api.getClients())
if(e.getMessage().equalsIgnoreCase("!de")) {
api.addClientToServerGroup(20, );
api.sendPrivateMessage(c.getId(), "Deine Sprache wurde auf Deutsch gesetzt.");
} else if (e.getMessage().equalsIgnoreCase("!en")) {
api.addClientToServerGroup(21, api.whoAmI().getDatabaseId());
api.sendPrivateMessage(api.whoAmI().getDatabaseId(), "Your language was set to english.");
}
}
ClientJoinEvent
@Override
public void onClientJoin(ClientJoinEvent e) {
if(e.getClientServerGroups().equals("7")){
api.sendPrivateMessage(e.getClientId(), "Bitte wähle deine Sprache. Antworte mit '!de' für deutsch.");
api.sendPrivateMessage(e.getClientId(), "Please choose your favorite language. Answer with '!en' for english.");
} else if(e.getClientServerGroups().equals("7")){
api.sendPrivateMessage(e.getClientId(), "test");
} else if (e.getClientServerGroups().equals("21")){
api.sendPrivateMessage(e.getClientId(), "test");
}
}