local DiscordLink do local _class_0 local _base_0 = { name = "DiscordLink", variableVersion = 1, defaults = { InviteCodes = { } }, InitializeSavedVariables = function(self) self.savedVariables = ZO_SavedVars:NewAccountWide(self.name .. "Vars", self.variableVersion, nil, self.defaults) if not self.savedVariables.InviteCode then return end table.insert(self.savedVariables.InviteCodes, self.savedVariables.InviteCode) self.savedVariables.InviteCode = nil end, CreateCommands = function(self) for k, v in pairs(self.savedVariables.InviteCodes) do local _continue_0 = false repeat if v == nil or v == "" then _continue_0 = true break end SLASH_COMMANDS["/d" .. k] = function() return StartChatInput("https://discord.gg/" .. v) end _continue_0 = true until true if not _continue_0 then break end end SLASH_COMMANDS["/discord"] = function() if self.savedVariables.InviteCodes[1] == nil or self.savedVariables.InviteCodes[1] == "" then return d("Add an invite code to your addon settings first") end return SLASH_COMMANDS["/d1"]() end end, Initialize = function(self) self:CreateCommands() local LAM = LibAddonMenu2 local panelName = self.name .. "Panel" local panelData = { type = "panel", name = "Discord Link", author = "@Jarva [EU]", registerForDefaults = true } local panel = LAM:RegisterAddonPanel(panelName, panelData) local optionsData = { } for i = 1, 5 do table.insert(optionsData, { type = "editbox", name = "Invite Code " .. i, getFunc = function() return self.savedVariables.InviteCodes[i] end, setFunc = function(value) self.savedVariables.InviteCodes[i] = value return self:CreateCommands() end }) end return LAM:RegisterOptionControls(panelName, optionsData) end, onAddonLoaded = function(_, addonName) if addonName == DiscordLink.name then EVENT_MANAGER:UnregisterForEvent(DiscordLink.name, EVENT_ADD_ON_LOADED) DiscordLink:InitializeSavedVariables() return DiscordLink:Initialize() end end } _base_0.__index = _base_0 _class_0 = setmetatable({ __init = function() end, __base = _base_0, __name = "DiscordLink" }, { __index = _base_0, __call = function(cls, ...) local _self_0 = setmetatable({}, _base_0) cls.__init(_self_0, ...) return _self_0 end }) _base_0.__class = _class_0 DiscordLink = _class_0 end return EVENT_MANAGER:RegisterForEvent(DiscordLink.name, EVENT_ADD_ON_LOADED, DiscordLink.onAddonLoaded)