Browse Source

fix channel name parsing

dev
Jørgen Lien Sellæg 4 months ago
parent
commit
0fbfb60c9a
  1. 18
      TradeSkillMaster_AuctionDB/Modules/ChannelSync.lua

18
TradeSkillMaster_AuctionDB/Modules/ChannelSync.lua

@ -69,14 +69,18 @@ local function EnsureChannel()
end end
local function GetChannelDisplayName(channelName, channelString, channelNumber, channelBaseName) local function GetChannelDisplayName(channelName, channelString, channelNumber, channelBaseName)
if channelBaseName and channelBaseName ~= "" then return channelBaseName end if channelBaseName and channelBaseName ~= "" and not tonumber(channelBaseName) then
if channelName and channelName ~= "" then return channelName end return channelBaseName
end
if channelName and channelName ~= "" and not tonumber(channelName) then
return channelName
end
if channelString and channelString ~= "" then if channelString and channelString ~= "" then
local parsed = channelString:match("^%d+%.%s*(.+)$")
if parsed then return parsed end
local numeric = tonumber(channelString) local numeric = tonumber(channelString)
if numeric then if numeric then return select(2, GetChannelName(numeric)) end
return select(2, GetChannelName(numeric)) return channelString
end
return channelString:match("^%d+%.%s*(.+)$") or channelString
end end
if channelNumber then if channelNumber then
return select(2, GetChannelName(channelNumber)) return select(2, GetChannelName(channelNumber))
@ -319,7 +323,7 @@ function ChannelSync:OnChannelMessage(_, msg, source, _, channelString, _, chann
local displayName = GetChannelDisplayName(channelName, channelString, channelNumber, channelBaseName) local displayName = GetChannelDisplayName(channelName, channelString, channelNumber, channelBaseName)
if displayName ~= CHANNEL_NAME then if displayName ~= CHANNEL_NAME then
if strsub(msg or "", 1, #COMM_PREFIX) == COMM_PREFIX then if strsub(msg or "", 1, #COMM_PREFIX) == COMM_PREFIX then
DebugPrint("Prefix received on channel '" .. tostring(displayName or channelNumber or channelString or channelName) .. "' (expected '" .. CHANNEL_NAME .. "').") DebugPrint("Prefix received; displayName=" .. tostring(displayName) .. " channelNumber=" .. tostring(channelNumber) .. " channelString=" .. tostring(channelString) .. " channelName=" .. tostring(channelName) .. " channelBaseName=" .. tostring(channelBaseName))
end end
return return
end end

Loading…
Cancel
Save