diff --git a/Heimdall.lua b/Heimdall.lua index 326ca46..cb37022 100644 --- a/Heimdall.lua +++ b/Heimdall.lua @@ -59,6 +59,7 @@ local function init() ---@class HeimdallMessengerConfig ---@field enabled boolean + ---@field interval number ---@class HeimdallDeathReporterConfig ---@field enabled boolean @@ -141,6 +142,7 @@ local function init() }, messenger = { enabled = shared.GetOrDefault(Heimdall_Data, { "config", "messenger", "enabled" }, true), + interval = shared.GetOrDefault(Heimdall_Data, { "config", "messenger", "interval" }, 0.2), }, deathReporter = { enabled = shared.GetOrDefault(Heimdall_Data, { "config", "deathReporter", "enabled" }, false), diff --git a/Messenger.lua b/Messenger.lua index 81b7a8f..5a34dba 100644 --- a/Messenger.lua +++ b/Messenger.lua @@ -55,7 +55,7 @@ function shared.Messenger.Init() if not shared.messenger then shared.messenger = {} end if not shared.messenger.queue then shared.messenger.queue = {} end if not shared.messenger.ticker then - shared.messenger.ticker = C_Timer.NewTicker(0.2, function() + local function DoMessage() if not Heimdall_Data.config.messenger.enabled then return end ---@type Message local message = shared.messenger.queue[1] @@ -85,7 +85,12 @@ function shared.Messenger.Init() if not message.channel or message.channel == "" then return end if not message.data or message.data == "" then return end SendChatMessage(message.message, message.channel, nil, message.data) - end) + end + local function Tick() + DoMessage() + shared.messenger.ticker = C_Timer.NewTimer(Heimdall_Data.config.messenger.interval, Tick, 1) + end + Tick() end --C_Timer.NewTicker(2, function()