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 = {}
|
||||
---@type string|nil
|
||||
local err
|
||||
---@type string
|
||||
local chatFrameName = aura_env.config.chatFrameName or "Auto"
|
||||
---@type string[]
|
||||
local subscribedMessageGroups = {}
|
||||
---@type string[]
|
||||
local subscribedChannels = {}
|
||||
|
||||
---@param input string
|
||||
---@param deliminer string
|
||||
@@ -30,6 +36,18 @@ if err then
|
||||
return
|
||||
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()
|
||||
for i, channelName in ipairs(channelNames) do
|
||||
channelName = strtrim(channelName)
|
||||
@@ -40,3 +58,48 @@ aura_env.JoinChannels = function()
|
||||
JoinPermanentChannel(channelName, password)
|
||||
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