Rework messenger config

This commit is contained in:
2025-01-01 14:13:29 +01:00
parent 8e90a71dfc
commit 5e78f623f5

View File

@@ -1,18 +1,18 @@
local addonname, data = ... local addonname, shared = ...
---@cast data HeimdallData ---@cast shared HeimdallShared
---@cast addonname string ---@cast addonname string
data.Messenger = {} shared.Messenger = {}
function data.Messenger.Init() function shared.Messenger.Init()
if not data.config.messenger.enabled then -- if not Heimdall_Data.config.messenger.enabled then
print("Heimdall - Messenger disabled") -- print("Heimdall - Messenger disabled")
return -- return
end -- end
---@class Message ---@class Message
---@field message string ---@field message string
---@field channel string ---@field channel string
---@field data string ---@field data string|number
---@type table<string, number> ---@type table<string, number>
local channelIdMap = {} local channelIdMap = {}
@@ -52,12 +52,13 @@ function data.Messenger.Init()
end end
end end
if not data.messenger then data.messenger = {} end if not shared.messenger then shared.messenger = {} end
if not data.messenger.queue then data.messenger.queue = {} end if not shared.messenger.queue then shared.messenger.queue = {} end
if not data.messenger.ticker then if not shared.messenger.ticker then
data.messenger.ticker = C_Timer.NewTicker(0.2, function() shared.messenger.ticker = C_Timer.NewTicker(0.2, function()
if not Heimdall_Data.config.messenger.enabled then return end
---@type Message ---@type Message
local message = data.messenger.queue[1] local message = shared.messenger.queue[1]
if not message then return end if not message then return end
if not message.message or message.message == "" then return end if not message.message or message.message == "" then return end
if not message.channel or message.channel == "" then return end if not message.channel or message.channel == "" then return end
@@ -79,7 +80,7 @@ function data.Messenger.Init()
message.data = channelId message.data = channelId
end end
table.remove(data.messenger.queue, 1) table.remove(shared.messenger.queue, 1)
if not message.message or message.message == "" then return end if not message.message or message.message == "" then return end
if not message.channel or message.channel == "" then return end if not message.channel or message.channel == "" then return end
if not message.data or message.data == "" then return end if not message.data or message.data == "" then return end