Add whisper notifications

This commit is contained in:
2024-12-12 14:47:47 +01:00
parent be5f8c264f
commit 71894a2613
2 changed files with 52 additions and 2 deletions

View File

@@ -25,6 +25,7 @@ if not Heimdall_Data then Heimdall_Data = {} end
---@field spotter HeimdallSpotterConfig ---@field spotter HeimdallSpotterConfig
---@field who HeimdallWhoConfig ---@field who HeimdallWhoConfig
---@field messenger HeimdallMessengerConfig ---@field messenger HeimdallMessengerConfig
---@field whisperNotify table<string, string>
---@class HeimdallSpotterConfig ---@class HeimdallSpotterConfig
---@field enabled boolean ---@field enabled boolean
@@ -87,6 +88,22 @@ data.config = {
}, },
messenger = { messenger = {
enabled = true enabled = true
},
whisperNotify = {
"Extazyk",
"Smokefire",
"Smokemantra",
"Хихихантер",
"Муркот",
"Растафаркрай",
"Frosstmorn",
"Pulsjkee",
"Paskoo",
"Totleta",
"Healleta",
"Deathleta",
"Shootleta",
"Stableta"
} }
} }
@@ -173,4 +190,4 @@ data.padString = function(input, targetLength, left)
end end
end end
return input return input
end end

View File

@@ -134,6 +134,17 @@ local function Notify(player)
message = text message = text
} }
table.insert(data.messenger.queue, msg) table.insert(data.messenger.queue, msg)
for _, name in pairs(data.config.whisperNotify) do
---@type Message
local msg = {
channel = "WHISPER",
data = name,
message = text
}
table.insert(data.messenger.queue, msg)
end
return nil return nil
end end
---@param player Player ---@param player Player
@@ -158,6 +169,17 @@ local function NotifyZoneChanged(player, zone)
message = text message = text
} }
table.insert(data.messenger.queue, msg) table.insert(data.messenger.queue, msg)
for _, name in pairs(data.config.whisperNotify) do
---@type Message
local msg = {
channel = "WHISPER",
data = name,
message = text
}
table.insert(data.messenger.queue, msg)
end
return nil return nil
end end
---@param player Player ---@param player Player
@@ -176,6 +198,17 @@ local function NotifyGone(player)
message = text message = text
} }
table.insert(data.messenger.queue, msg) table.insert(data.messenger.queue, msg)
for _, name in pairs(data.config.whisperNotify) do
---@type Message
local msg = {
channel = "WHISPER",
data = name,
message = text
}
table.insert(data.messenger.queue, msg)
end
return nil return nil
end end
@@ -303,7 +336,7 @@ whoQueryChannelFrame:SetScript("OnEvent", function(self, event, msg, sender, ...
local channelId = select(6, ...) local channelId = select(6, ...)
local channelname = "" local channelname = ""
---@type any[] ---@type any[]
local channels = {GetChannelList()} local channels = { GetChannelList() }
for i = 1, #channels, 2 do for i = 1, #channels, 2 do
---@type number ---@type number
local id = channels[i] local id = channels[i]