javaluachatbotsteamspeak

Read TeamSpeak 3 Messages with java


im wondering if there is any other way to read out the TeamSpeak Channel Chat with java.

I know that you could use a lua plugin which opens tha java program with the messages as parameter.

The code for the Lua Plugin's event.lua file: (could be outdated)

local function onTextMessageEvent(serverConnectionHandlerID, targetMode, toID, fromID, fromName, fromUniqueIdentifier, message, ffIgnored)
    print("Testmodule: onTextMessageEvent: " .. serverConnectionHandlerID .. " " .. targetMode .. " " .. toID .. " " .. fromID .. " " .. fromName .. " " .. fromUniqueIdentifier .. " " .. message .. " " .. ffIgnored)
    if targetMode == 2 then
        os.execute("Program.exe " .. '"' .. message .. '"')
        if message == "!command#1" or message == "!command#2" or message == "!command#3" then
            folder = os.getenv("APPDATA")
            file = io.open(folder .. "/" .. "tmp.txt", "r")
            tempfile = file:read("*all")
            file:close()
            os.remove(folder .. "/" .. "tmp.txt")
            ts3.requestSendChannelTextMsg(serverConnectionHandlerID, tempfile, fromID)
        end
    end
    return 0
end

Basicly the Program.exe creates the tmp.txt file and writes the specified (inside the Program.exe) answer to the file which is sent to the chat by the lua plugin.

Now i want to know if there is any way to get the messages directly with java (so that the lua plugin isn't needed anymore)

I'm thankful for any help


Solution

  • I found out that you can simply scan the channel & server chatlogs for new entrys. The Logs can be found here:

    %APPDATA%\Roaming\TS3Client\chats\<UniqueServerID>
    

    Unfortunately i have no idea how the UniqueServerID is generated and where the private chatlogs can be found.