Чтение сообщений TeamSpeak 3 с помощью java

#java #lua #chat #bots #teamspeak

#java #lua #Чат #боты #командный разговор

Вопрос:

мне интересно, есть ли какой-либо другой способ прочитать чат канала TeamSpeak с помощью java.

Я знаю, что вы могли бы использовать плагин lua, который открывает Java-программу с сообщениями в качестве параметра.

Код для файла event.lua плагина Lua: (может быть устаревшим)

 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
 

В основном это Program.exe создает tmp.txt файл и записывает указанное (внутри Program.exe ) ответ на файл, который отправляется в чат плагином lua.

Теперь я хочу знать, есть ли какой-либо способ получать сообщения напрямую с помощью java (чтобы плагин lua больше не нужен)

Я благодарен за любую помощь

Ответ №1:

Я узнал, что вы можете просто сканировать журналы чатов канала и сервера на предмет новых записей. Журналы можно найти здесь:

 %APPDATA%RoamingTS3Clientchats<UniqueServerID>
 

К сожалению, я понятия не имею, как генерируется уникальный идентификатор сервера и где можно найти частные журналы чатов.