From 2c7089504f4b6b0e68c5732e8c0d1d81a6843f81 Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Tue, 21 Jan 2025 08:56:59 +0100 Subject: [PATCH] Make inviter whitelist multiple channels (ie. read) --- Modules/Config.lua | 6 +++--- Modules/Inviter.lua | 7 ++++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Modules/Config.lua b/Modules/Config.lua index d5b6712..3efd1a6 100644 --- a/Modules/Config.lua +++ b/Modules/Config.lua @@ -952,15 +952,15 @@ function shared.Config.Init() local listeningChannel = CreateBasicSmallEditBox("HeimdallInviterConfigListeningChannel", inviterConfigFrame.frame, shared.L[Heimdall_Data.config.locale].config.masterChannel, - Heimdall_Data.config.inviter.listeningChannel, + MapKeyToString(Heimdall_Data.config.inviter.listeningChannel, ","), function(self) local text = self:GetText() if string.match(text, "%D+") then - Heimdall_Data.config.inviter.listeningChannel = text + Heimdall_Data.config.inviter.listeningChannel = StringToMap(text, ",") print("Listening channel set to", tostring(text)) else print("Invalid listening channel", tostring(text)) - self:SetText(Heimdall_Data.config.inviter.listeningChannel) + self:SetText(MapKeyToString(Heimdall_Data.config.inviter.listeningChannel, ",")) end end) inviterConfigFrame:Add(listeningChannel, 2, 6) diff --git a/Modules/Inviter.lua b/Modules/Inviter.lua index bff2780..7b578a0 100644 --- a/Modules/Inviter.lua +++ b/Modules/Inviter.lua @@ -6,6 +6,11 @@ local ModuleName = "Inviter" ---@diagnostic disable-next-line: missing-fields shared.Inviter = {} function shared.Inviter.Init() + if type(Heimdall_Data.config.inviter.listeningChannel) == "string" then + Heimdall_Data.config.inviter.listeningChannel = { + [Heimdall_Data.config.inviter.listeningChannel] = true + } + end ---@type Timer local updateTimer = nil @@ -187,7 +192,7 @@ function shared.Inviter.Init() print(string.format("[%s] Channel name: %s", ModuleName, channelname)) end - if channelname ~= Heimdall_Data.config.inviter.listeningChannel then + if not Heimdall_Data.config.inviter.listeningChannel[channelname] then if Heimdall_Data.config.inviter.debug then print(string.format("[%s] Channel name does not match listening channel", ModuleName)) end