#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>
К сожалению, я понятия не имею, как генерируется уникальный идентификатор сервера и где можно найти частные журналы чатов.