Arguments arguments arguments

--!strict

export type Argument = {
	numberSlider: (boolean | number)?,
    numberBounds: (boolean | {number})?,
}

local Args:{[string]: Argument} = {
	["Players"] = {
        -- Accepts qualifiers ("me", "all", "others") or players within game.Players
	},

    ["Roles"] = {
        -- Accepts roles ("Admin", "Mod", "Owner")
        -- For now, just make up a dictionary
	},

    ["String"] = {
		-- Accepts a string
	},

    ["Number"] = {
        numberSlider = false, -- 0.2
        numberBounds = false, -- {0, 180},
		-- Accepts a number value (including decimals up to 5 decimal places)
        -- Consider that this can be a slider (in addition to a textBox), where the
        -- increments of that slider are 'numberSlider' (if not false)
        -- Consider that this can have bounds, where [1] and [2] of numberBounds
        -- are the minimum and maximum values permitted
	},

	["Integer"] = {
        numberSlider = false, -- 1
        numberBounds = false, -- {0, 180},
		-- Accepts a number value (but only whole numbers)
        -- Consider the same as Number
	},

    ["User"] = {
        -- Accepts an Integer OR UnfilteredString
		-- Upon FocusLost of the box, it will search for that user (by UserId or Name)
        -- of the corresponding account. If present, it displays the profile image, userId
        -- and username in or below the box. If an invalid user (such as a banned account)
        -- or too higher integer, then display a Red outline requiring the box to be re-done
	},

    ["Color"] = {
		-- Accepts a Color3 value (generated from color wheel, or presets)
	},

    ["Leaderstat"] = {
		-- Accepts the names of stats within the player's leaderstats:
        -- https://create.roblox.com/docs/players/leaderboards
        -- Leaderstats may not exist within the player, so must be checked for
	},

    ["Team"] = {
		-- Accepts the names of teams within game.Teams
	},

    ["Material"] = {
		-- Accepts the names of materials from Enum.Material 
	},

    ["Gear"] = {
		-- Accepts the names of gear centralised in an array
        -- For now, just make up this array
	},

    ["Options"] = {
		-- Accepts an array of strings
        -- For example, the ;vote command has the ability to +Create and -Delete
        -- option boxes, then input a string into these boxes
	},

}

return Args
1 Like