Update messenger to also accept channel names as args

This commit is contained in:
2024-11-29 19:07:19 +01:00
parent d325141929
commit f813e85755
2 changed files with 33 additions and 5 deletions

View File

@@ -7,12 +7,31 @@ function()
local message = WeakAurasSaved.Cyka.MessageQueue[1] local message = WeakAurasSaved.Cyka.MessageQueue[1]
if message == nil then return end if message == nil then return end
-- Map channel names to ids
if message.channel == "CHANNEL" and string.match(message.data, "%D") then
print("Channel presented as string:", message.data)
local channelId = aura_env.channelIdMap[message.data]
if not channelId then
print("Channel not found, scanning")
aura_env.ScanChannels()
channelId = aura_env.channelIdMap[message.data]
end
if not channelId then
print("Channel not joined, joining")
channelId = aura_env.FindOrJoinChannel(message.data)
end
print("Channel resolved to id", channelId)
message.data = channelId
end
table.remove(WeakAurasSaved.Cyka.MessageQueue, 1) table.remove(WeakAurasSaved.Cyka.MessageQueue, 1)
SendChatMessage(message.message, message.channel, nil, message.data) SendChatMessage(message.message, message.channel, nil, message.data)
end end
--INIT --INIT
local function FindOrJoinChannel(channelName, password) ---@type table<string, number>
aura_env.channelIdMap = {}
aura_env.FindOrJoinChannel = function(channelName, password)
local function GetChannelId(channelName) local function GetChannelId(channelName)
local channels = {GetChannelList()} local channels = {GetChannelList()}
for i = 1, #channels, 2 do for i = 1, #channels, 2 do
@@ -24,7 +43,7 @@ local function FindOrJoinChannel(channelName, password)
end end
end end
channelId = GetChannelId(channelName) local channelId = GetChannelId(channelName)
if not channelId then if not channelId then
print("Channel", channelName, "not found, joining") print("Channel", channelName, "not found, joining")
if password then if password then
@@ -34,10 +53,19 @@ local function FindOrJoinChannel(channelName, password)
end end
end end
channelId = GetChannelId(channelName) channelId = GetChannelId(channelName)
aura_env.channelIdMap[channelName] = channelId
return channelId return channelId
end end
aura_env.channelId = FindOrJoinChannel(aura_env.config.channel, aura_env.config.channelPassword) aura_env.ScanChannels = function()
print("Channel", aura_env.config.channel, "resolved to id", aura_env.channelId) local channels = {GetChannelList()}
for i = 1, #channels, 2 do
local id = channels[i]
local name = channels[i + 1]
aura_env.channelIdMap[name] = id
end
end
local channelId = aura_env.FindOrJoinChannel(aura_env.config.channel, aura_env.config.channelPassword)
print("Channel", aura_env.config.channel, "resolved to id", channelId)
--aura_env.iterator = 0 --aura_env.iterator = 0
--WeakAurasSaved.Cyka.MessageQueue = {} --WeakAurasSaved.Cyka.MessageQueue = {}
--for i = 1, 100 do --for i = 1, 100 do

View File

@@ -1 +1 @@
!DEr)VjUn0)xyAsuTccO3U9tt66XOFnAGwNU(dNMjgId4RbBKTdx7v183(Ep7ei81v2jqGZZVV)o020qkzoLeJFHJQmBQqYPKbpe2)6GEusIsAjIVZPbT7qjppijXWT0GwabcZIu2lH8NTuYVUGsEPYLA(uHsg(YcGxwhggEAYqLqch)8GWWb3sjSm7mLEWclGQbeFGtDSoIeYfzaQzg(FXntOJPKVjITZqCiX8ewwkClO7W)cNkdyizZbk7oJjL808Oa3JPC5uhDGw9e)fkzI)EhV77VCmf06o)Vf(wYBiZy(MshVPCwdTQMSHEVPIaSEIkvP9oe8Bh3VN5(9d4VikzgRAo68FyrmZc6bFjhDUGtvnNzftE0PYKZHNbOtkDYeJLPTWba3eHuyM5pdhrOKy1ipVPFUukGQRMWalmjt64tE0fcz8a9nq8SW8RxyUOt)08Offw9j53Kh5)SdpUKBli(64QKxHMTOTajtE0FMh96A67lm26N82U0LO05rch6TbT6xkzaCUtEuSAxk2sIIyhXL09fX)(UKGzfBruE0VbkWpGurYk6wtyGdGDgxEycl)O52mT0PVhexUCpxUbq)dRECsz0Xzohr4Yzgk7guUF9FHg6euVwbdRD6ggn8unhBsuzYy4PVc5zc50A7jZafzzY275SW01HC9CMeQuo682voNud)NN3NCuU(FwhFz4FnH34yiltZgXLlBUjh3T6DnIkzIyAj(Gh5a3mCTJA3y5H5wnn3OsxYXyLctx3e9sTe4AJgRalSCnZILYGU3cV6ro7PZHRnegWRMDF5jwZB5gdBk)UmEMV(713qu3Qfq7wT8f(nAu68SSXP8McPHRT1FpodS41QeVviZjNADV68GGE9bBBpycDRzo021S3l(Z9s3Z5WEKWA5rnBI2ufKFZ5XkQF9drSAX0PCDLbREaRhZv2D3Kn2n8GKLKiEMsg19Cs4is453hUASYvCwkooPe3HAUdxYWE97Jtfhde7N3FvV(dV4baygosHGljas1ZidLeED3)U39JGarl)iuJFaKxBg5vTcPwQHOHwqxhiaEt5qK67R5ZEcHfDg2)v(uLnRa)rmBRmTdY59MrUvx4vNA0OXNqtppQGQDgCwnp49K2xQoSbTL1edulfPLQDzJJdOv(sdnFUAj)yknAxjEqaEc9eSfOuVqfAw8)PRuQkThanRcCSs5exNmiVBbpfQq2mxzMig3VumNhJqZKRtXDLa4wpl5HEG3QaKdAaBFH3iNaREwSpA3EbH9UhxbcA0izP)du1ajxWIxFKs(kikrcSpx)ExaLdypVh1myD3hxDsa6hALWoCyIo00lwuUUfULLgsYHQpWACBq6L9fiuFbdP7996fagIAYYsr)hTodRp8nqXs2vRTMOuJz69SFz7oN5eNcTPl0IVNhDxglw763eg6QDV3TxEHIXKcCtrqCvwlKedHyeyrLOHJ2JPSNHub7Sc0oNjKhp2Rw084W3rXZ8y)kSbDqprQI5EffiryI7TwWnOld0tsbVWoqn47TSfqmnbJxpD5Dt4Z)9eZLehQusNMT)yZZOKLqq6dDWLSP)3p !TIr)VPTr0)xyQseTakq76KM2MwkL0MmIHMZD5hQ6HpSpdxJ5mY3zAsRQ)BFV3D(lmMssvvJO239((7NPdOUuYAkja)dEmovhjKCkz67DNCPZykjmwQjIVWPodgsjSu9Q4KPB0IyPcqWXqa9dBaueYnPAkjvXFnx5txqjFweOxHWqc4HS0i4wkrYwdapAftk5rzEoMxVJ)aL4BpJsI4YLgepdeoanHrMwyO9e7DlOAQZWNmZRZNzmL6ZXjbn4rDM3qwRWyxbbiDGqTjI9Gl)E4LNTHsEyAyOIdcjqMe(sWE5AeuTbcDS)wEIcoL687N98ZaG8JJItSMu8VHMFFU53xG)cyDFnA6NQ0XRr(9(nbmnqz(wUuBCrXRzAH)Tgda5C4D4u)cxgrPzjA4ba2qHuOwzFgEepLeep3sB6Rk4cL0RxV)bn0zEA2Ii(FQ0jc5YtZ8KPRxWt(7SRyPjS5C52(5w3ldUMTjZ7VY8(63QD7fczW0KRIfYsRkasyQ0iFDZrgdkaIVj3EFs2vzE2)ff7ZIQqiZ7nC9Ocowh9A40a3CGuwHRc)jcLU7jFBF8cJtY8egWhas1Vuqa45HzEbX7JrdokcmixG3heF8OOGrEnqkZ7xbb47GQiSeVkeDmhOxXLhgXI)LW1PjsJ8Eqy5YwUCNd3fIRA36FP1K8i8EgTkwVdMTRoBGysD3o5eSZP7ydG36yityCQmaE7tqmied3PLafKLfXEhZ2HHYZ4jRzsi7lN1hpmU0wfP4)40(KNIN4jB4BnJ(d1G9J1dqVSgRkIJQDLrukPiXNvK)R2TaWjhkG54PRp900Nq65pqAz72pzPHt00tz(P10Kdx(SBfxILHILfm7068FNBMvfnUFcZHPwNeUkoAlhtiIrHVw(1LiX61RezHMNW0O7aK9ZWRULZU7C4AfHbKO)OhUJ1)AUsXwYFxkpLx2OOxVgUXbNDM151RxHXY0cQVqQ4j6UhJYaj(ADKBKoy4tNrV9ChNXtavQfiHURSD9cLQDRWV2YDlLDhtC7K51VpQt1a(Bglg4XTJpaTtxUegiOAKk7bvd4u0jwLUW0ONKggkUNsMp6CI7CI7534wocWB5SiS1FbSZs4gyjZgpzcop0caz74iVD8Kzx8E4WuS9pbNHb4krTHhb6NYoAagZM)OvmMBLPC2viATLexw9Uf)uEP12VYgpSBjSVhXAeoDqk3AyxoBkzu14o5qVxvP6o5JXLpuV6aQdvidylfrfIBrDZ9KgqoWHPkJznoKIervReVFvaE9iCikgiUND(T(WCI(R6wGbgOJz6p71qtXhvpw8DUcccWYcmvbD)dS2qDQE0HXAwNBNsM1P0hBVB9JBaHdPe7mxGc6nDObd2R0E9gzD)oi8tqnBDWRFs6oole)idfDevz)othjaOv9PP0DSMohO2B)YA2TmDsJSlB3Ke(64T8ht3Kb1ylbOfiR6Cqkv58))09Ygp1KVVF2HrMYlOQOe3lh9VJVzo07RCtV5Reb46JI1CSNbuVUQfHPfcUH3wUR9WRJbGD6b7WI3i9HL2NbUg4LrJDChFdUUh0KwYI(VI1qh(sk5taReHWkYtgFbUPipkmhTxn11D61aAWYVO2cl)I9jG2k8a7IModrHnmbknbDVa1YS7TL3xGNAB4qgDZ4XoW65Wii3MWGnLVT8PuK639M35Zx)BHQ3qWLIXXqWUGLFCGZxAB60CjEgEU6fdrngA8DJzN78UwmPaxjguZA7)scahnEyE3mfh4g0YlVHRmwYrCxZeYhp0LBu)4GxBuXaHUswJIzMpfd0c2381zWporHt2pc039ovHFFMghQTF6gk5IeXxY8ExkliXKu4A4ciid7p4L9FoLSfCuVyi(bgO))d