diff --git a/Heimdall.lua b/Heimdall.lua index c599c65..ca9b5fe 100644 --- a/Heimdall.lua +++ b/Heimdall.lua @@ -533,6 +533,7 @@ local function init() shared.Configurator.Init() shared.StinkyCache.Init() shared.AchievementSniffer.Init() + shared.ChatSniffer.Init() print("Heimdall loaded!") end diff --git a/Heimdall.toc b/Heimdall.toc index 04ad434..d6f6150 100644 --- a/Heimdall.toc +++ b/Heimdall.toc @@ -3,7 +3,7 @@ ## Version: 3.12.0 ## Notes: Watches over areas and alerts when hostiles spotted ## Author: Cyka -## SavedVariables: Heimdall_Data, Heimdall_Achievements +## SavedVariables: Heimdall_Data, Heimdall_Achievements, Heimdall_Chat _L.lua Modules/CLEUParser.lua diff --git a/Modules/ChatSniffer.lua b/Modules/ChatSniffer.lua new file mode 100644 index 0000000..43db3df --- /dev/null +++ b/Modules/ChatSniffer.lua @@ -0,0 +1,38 @@ +local _, shared = ... +---@cast shared HeimdallShared +local ModuleName = "ChatSniffer" + +---@diagnostic disable-next-line: missing-fields +shared.ChatSniffer = {} +function shared.ChatSniffer.Init() + Heimdall_Chat = Heimdall_Chat or {} + local frame = CreateFrame("Frame") + frame:RegisterEvent("CHAT_MSG_SAY") + frame:RegisterEvent("CHAT_MSG_YELL") + frame:RegisterEvent("CHAT_MSG_CHANNEL") + frame:RegisterEvent("CHAT_MSG_WHISPER") + frame:RegisterEvent("CHAT_MSG_CHANNEL_JOIN") + frame:RegisterEvent("CHAT_MSG_CHANNEL_LEAVE") + frame:RegisterEvent("CHAT_MSG_EMOTE") + frame:RegisterEvent("CHAT_MSG_PARTY") + frame:RegisterEvent("CHAT_MSG_PARTY_LEADER") + frame:RegisterEvent("CHAT_MSG_RAID") + frame:RegisterEvent("CHAT_MSG_RAID_LEADER") + frame:RegisterEvent("CHAT_MSG_RAID_WARNING") + frame:RegisterEvent("CHAT_MSG_SYSTEM") + frame:RegisterEvent("CHAT_MSG_TEXT_EMOTE") + frame:RegisterEvent("CHAT_MSG_YELL") + frame:SetScript("OnEvent", function(self, event, msg, sender, language, channel) + local log = string.format( + "%s|%s|%s|%s|%s", + tostring(event), + tostring(sender), + tostring(msg), + tostring(language), + tostring(channel) + ) + Heimdall_Chat[#Heimdall_Chat + 1] = log + end) + + print("[Heimdall] ChatSniffer loaded") +end