local addonname, data = ... ---@cast data HeimdallData ---@cast addonname string data.Inviter = {} function data.Inviter.Init() if not data.config.inviter.enabled then print("Heimdall - Inviter disabled") return end local inviterGroupFrame = CreateFrame("Frame") inviterGroupFrame:RegisterEvent("GROUP_ROSTER_UPDATE") inviterGroupFrame:SetScript("OnEvent", function(self, event, ...) if not UnitIsGroupLeader("player") then return end if not IsInRaid() then ConvertToRaid() end if not IsEveryoneAssistant() then SetEveryoneIsAssistant(true) end end) local inviterChannelFrame = CreateFrame("Frame") inviterChannelFrame:RegisterEvent("CHAT_MSG_CHANNEL") inviterChannelFrame:SetScript("OnEvent", function(self, event, msg, sender, ...) local channelId = select(6, ...) local channelname = "" ---@type any[] local channels = { GetChannelList() } for i = 1, #channels, 2 do ---@type number local id = channels[i] ---@type string local name = channels[i + 1] if id == channelId then channelname = name end end if channelname ~= data.config.inviter.listeningChannel then return end if msg == data.config.inviter.keyword then InviteUnit(sender) end end) print("Heimdall - Inviter loaded") end