Implement chat channel frame creation and joinage
This commit is contained in:
1
FreshShit/ChannelJoiner/export
Normal file
1
FreshShit/ChannelJoiner/export
Normal file
@@ -0,0 +1 @@
|
|||||||
|
!LJ1(VjUnC8)xy6KankQV2nPPDsJJM2sfnWWPh6uvZJM4a(wWbf70h3Tl)TVV2joXjeAlt3pmPjqqC83NF((WpSpY2YgT2gfi(cpgNYJiuSnA6nwtgBAyJcJPCe5RyBZJo2gXJ9FaNWiXuBZF9Wto8qB0ttddzyUTj8CaHTjY7zl8tCB072yJEwBYe8sGpRN3aINlPiLa6D6xwoL84Nwn2aOXpokobmeZJKFpw(7jYFpv8lWKFkJhVwOIB2e4XbHHFatHj8sH37Xj(lib8v2OHWy4T(CqRmHZX4EjC4bGwcLiEcfe7Klp7pQKSn6Gdo4p4GzM5Y4je6YBVl7QOyFVOmx)vEukoY0BnML5(Hm3V99SRED6N5XypgNeSBE(BkjQKlCsY2uOlt(5jGfiScPa9st8CW0hg4htdjlh0GI4Km3oc0OZlARS07z(jK7XbxJzmVL4lsIt38MCZkwhL7WvCLZ3gpWCYCj0nP8khsBMaCeznK5LuF2empnHwPX(TIxHPuzuoZfXtqBIi8Usn1xtU9atXn)djmZLgZRPu(kmWUsDF77aRD0MMaoeOXoqSHg0IKkCS2KsXu7qcfEaGcCnmRyYqrKtmLqbkpFWsij3FvPh2P7TzFhe7Gb1CiXWo39Z960dEDCLmvF4E3hHhqOmCcVRu95ylOJ1YX90qSAMSY9umjJe5uCLE9r)8ezHtvgwAjtvMUi8J(GPELarLCjHYsDUb8CE3caaGfac62XijraqmHK5Iugv5g73YCFhRtUbO7hfMEdRTS6CpSyDE(bA5cuTqWVrFyhvTVfxz3S(JWJQKEM76C5N5UuQH921gvLMShE1OFSjx6o0EMOvAJxftO1ArQAD1TxJYEs)AR2K3bGSXJKW6QxLTJY7AS(HQkBT33BBUk7gLNdk5uwE3KqbssYC)Dy(FA714QdVn)ut6nSRsHCl5UwSVA9HuFey6mme1OW2akaxD)SFLkB2sRz45CcnyAYOemSVcqs8fW44hFLaLC6JaTyEZ1oJUCOLZIXMNnDbQ9itbgtvrMlW8kvnMgg3L0RDaVGLpS1waEz8w1V25IB7msXyXcgK7EfqUaHudpF05ot3GPM4hZn4U1mL)xJnkzPVEyzM1izZP0K3sAvZ95vFpETNJ2TT93OjH2HHw78jeAM7Jf247yfclmoLg0PFdaUxlXdvZVDGthCaspSkKsvw0wYVzB6oZXRJFq2q2lkARLw6OXqza1rYdEyuuTf6Q06RQfv)(xr8Qw7VKKhgeiL7ly4YAhN(L0in3ARaSJLU3XIbTgMB3okxqtx1TfKR8Eqq6grTyPQ9(UKwT6PgauByEjYuUFPwbfvC4FdEui5sGOy8RIbAR8SL73ImAD9Nw6sikSfNyneoYkBL80RWiqQlxchep)OYwLVq(O8e2QdZcGI88XO0WqYt2iNrdrwoiRHZTkp58LyViXjMv0olblPfnZyYeLOCwrceNCNSgdNANTbhfnoGLFCAjxmB0Sjd)SXChdtlJ5JnVWzX05tot)G1zUTss2vT1hS1DnjiaGTsRk3BlCeXQafMuQ4e(iXTraOckaFp4)539WLgtMD(ntYjQc3K4Q42cEaBL)YRJbh28GJouod1FvCYmWsGbJKMV4Ae44eQx0Nu3jYXV3g9fWWiHpBJMyCU4whWrHfS9XPwwtVgydm)c)ryC5BCve6Q16tDdgQ6ay8sWlH0QlHTYGLHRg57Vaj16taH2HFgOY46PwgW)ZGSHpR(3zIXWZmMddNpC8zf)v)Lolgo3eIEWWpo0YAIXfZNEJ5zngwXZytiHZCKHClanhxr2IlhdPCZlD5YDdcWVWVyNEmq1spyR5qPGOOqGvqUVh3tuhueKKiyESgnAUHHPO65jCq(9czES4wRexRLn68eYxZC)ZuVaHiYCTGyGqHls82yJwu(eaJZL3EvrYLxkh0Z0nQRwQOguQs55YHulg(mmZ3(EqIf6vKgg6LgbZAJ(l8Z6HwQmGxfhJW0LcMGKp0AGfI8A5Uxk3j5ZDpyjGq3xfxtA6wHgARR9AwM25t3YuozpnL)BNcslRaL3PiS0t(gP8L7oAzrzunWuh1Ka7oR(AGCNUNiNS4gmwzX(w6AuJKQD5d(7DY2VSN2zE)RYeiEPbK)kvYNElV3OPWLDndi8QAYOyp5vydRm5lVvBb3Q(6(rqA7wVLjUx7gVu2QNiWlOFU2Lgx430yXTJhaRmjiOy1hgwymmbVR9i03o1LlQ)2Op3OTrhp4O3p4eB0daoD6XIBf3(F(
|
@@ -4,6 +4,12 @@ local channelNames = {}
|
|||||||
local channelPasswords = {}
|
local channelPasswords = {}
|
||||||
---@type string|nil
|
---@type string|nil
|
||||||
local err
|
local err
|
||||||
|
---@type string
|
||||||
|
local chatFrameName = aura_env.config.chatFrameName or "Auto"
|
||||||
|
---@type string[]
|
||||||
|
local subscribedMessageGroups = {}
|
||||||
|
---@type string[]
|
||||||
|
local subscribedChannels = {}
|
||||||
|
|
||||||
---@param input string
|
---@param input string
|
||||||
---@param deliminer string
|
---@param deliminer string
|
||||||
@@ -30,6 +36,18 @@ if err then
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
subscribedMessageGroups, err = StrSplit(aura_env.config.subscribedMessageGroups, ",")
|
||||||
|
if err then
|
||||||
|
print(string.format("Error splitting subscribed message groups: %s", err))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
subscribedChannels, err = StrSplit(aura_env.config.subscribedChannels, ",")
|
||||||
|
if err then
|
||||||
|
print(string.format("Error splitting subscribed channels: %s", err))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
aura_env.JoinChannels = function()
|
aura_env.JoinChannels = function()
|
||||||
for i, channelName in ipairs(channelNames) do
|
for i, channelName in ipairs(channelNames) do
|
||||||
channelName = strtrim(channelName)
|
channelName = strtrim(channelName)
|
||||||
@@ -39,4 +57,49 @@ aura_env.JoinChannels = function()
|
|||||||
end
|
end
|
||||||
JoinPermanentChannel(channelName, password)
|
JoinPermanentChannel(channelName, password)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
aura_env.FindOrCreateChatWindow = function()
|
||||||
|
for i = 1, NUM_CHAT_WINDOWS do
|
||||||
|
local name = GetChatWindowInfo(i)
|
||||||
|
if name == chatFrameName then
|
||||||
|
return _G["ChatFrame" .. i]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
FCF_OpenNewWindow(chatFrameName)
|
||||||
|
for i = 1, NUM_CHAT_WINDOWS do
|
||||||
|
local name = GetChatWindowInfo(i)
|
||||||
|
if name == chatFrameName then
|
||||||
|
return _G["ChatFrame" .. i]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
aura_env.ConfigureChatWindow = function()
|
||||||
|
local chatFrame = aura_env.FindOrCreateChatWindow()
|
||||||
|
if not chatFrame then
|
||||||
|
print(string.format("Chat window %s not found", chatFrameName))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
--SetChatWindowName(chatFrame, chatFrameName)
|
||||||
|
print("Removing all message groups")
|
||||||
|
ChatFrame_RemoveAllMessageGroups(chatFrame)
|
||||||
|
print("Removing all channels")
|
||||||
|
ChatFrame_RemoveAllChannels(chatFrame)
|
||||||
|
print("Adding message groups")
|
||||||
|
for _, messageGroup in ipairs(subscribedMessageGroups) do
|
||||||
|
print(string.format("Adding message group: %s", messageGroup))
|
||||||
|
ChatFrame_AddMessageGroup(chatFrame, strtrim(messageGroup))
|
||||||
|
end
|
||||||
|
print("Adding channels")
|
||||||
|
for _, channel in ipairs(subscribedChannels) do
|
||||||
|
print(string.format("Adding channel: %s", channel))
|
||||||
|
ChatFrame_AddChannel(chatFrame, strtrim(channel))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
aura_env.ConfigureChatWindow()
|
||||||
|
Reference in New Issue
Block a user