local addonname, shared = ... ---@cast shared HeimdallShared ---@cast addonname string local ModuleName = "Emoter" ---@diagnostic disable-next-line: missing-fields shared.Emoter = {} function shared.Emoter.Init() local frame = CreateFrame("Frame") frame:RegisterEvent("CHAT_MSG_CHANNEL") frame:SetScript("OnEvent", function(self, event, msg, sender, ...) -- if Heimdall_Data.config.emoter.debug then -- print(string.format("[%s] Channel message received from: %s", ModuleName, sender)) -- end if not Heimdall_Data.config.emoter.enabled then -- if Heimdall_Data.config.emoter.debug then -- print(string.format("[%s] Module disabled, ignoring message", ModuleName)) -- end return end local channelId = select(6, ...) local _, channelname = GetChannelName(channelId) -- if Heimdall_Data.config.emoter.debug then -- print(string.format("[%s] Processing message from channel: %s", ModuleName, channelname)) -- end if channelname ~= Heimdall_Data.config.emoter.masterChannel then -- if Heimdall_Data.config.emoter.debug then -- print(string.format("[%s] Ignoring message from non-master channel", ModuleName)) -- end return end if Heimdall_Data.config.emoter.debug then print(string.format("[%s] Processing message from master channel: %s", ModuleName, sender)) shared.dumpTable(Heimdall_Data.config.emoter) end if string.find(msg, "^" .. Heimdall_Data.config.emoter.prefix) then if Heimdall_Data.config.emoter.debug then print(string.format("[%s] Found emote command in message: %s", ModuleName, msg)) end local emote = string.sub(msg, string.len(Heimdall_Data.config.emoter.prefix) + 1) if Heimdall_Data.config.emoter.debug then print(string.format("[%s] Performing emote: %s", ModuleName, emote)) end DoEmote(emote) elseif Heimdall_Data.config.emoter.debug then print(string.format("[%s] Message does not start with emote prefix", ModuleName)) end end) if Heimdall_Data.config.emoter.debug then print(string.format("[%s] Module initialized", ModuleName)) end print("[Heimdall] Emoter loaded") end