---@type string[] local channelNames = {} ---@type string[] local channelPasswords = {} ---@type string|nil local err ---@param input string ---@param deliminer string ---@return string[], string|nil local function StrSplit(input, deliminer) if not deliminer then return {}, "deliminer is nil" end if not input then return {}, "input is nil" end local parts = {} for part in string.gmatch(input, "([^" .. deliminer .. "]+)") do table.insert(parts, strtrim(part)) end return parts, nil end channelNames, err = StrSplit(aura_env.config.channels, ",") if err then print(string.format("Error splitting channels: %s", err)) return end channelPasswords, err = StrSplit(aura_env.config.channelPasswords, ",") if err then print(string.format("Error splitting channel passwords: %s", err)) return end aura_env.JoinChannels = function() for i, channelName in ipairs(channelNames) do channelName = strtrim(channelName) local password = nil if i <= #channelPasswords then password = strtrim(channelPasswords[i]) end JoinPermanentChannel(channelName, password) end end