Update messenger to also accept channel names as args
This commit is contained in:
@@ -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
|
||||||
|
@@ -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
|
Reference in New Issue
Block a user