> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jadevelopment.co.uk/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Promptly has endless options for configuring and customising the product to your liking

<Tabs>
  <Tab title="Group">
    ```lua theme={null}
    GroupId = 0, --<< A Roblox group id 
    RoleIds = {1, 255}, --<< Every role id that will have permission to edit the message and modify settings 
    ```

    **RoleIds** will contain a list of Group Role IDs that will be allowed to interact with the system as a whole, including editing of messages and in-game settings

    For example, `RoleIds = {1, 2, 3, 4, 5, 6, 255}`
  </Tab>

  <Tab title="Message">
    ```lua theme={null}
    DefaultMessage = "Replace this with a message", --<< Server startup message 
    ```

    Any message inside of the `""` will appear as the default message when the server starts up
  </Tab>

  <Tab title="Commands">
    ```lua theme={null}
    CommandPrefix = "!", --<< Command prefix (can be anything) 
    SetCommand = "setmessage", --<< Command to set the message 
    NotifyCommand = "notify", --<< Command to notify all users
    ClearCommand = "clearmessage", --<< Command to clear the message
    ```

    The **CommandPrefix** is what declares a command that will be sent in chat. For example, I would say "`!setmessage TEXT HERE`" in chat, followed by the text

    You can edit the **SetCommand**, **NotifyCommand**, and **ClearCommand** to anything you want

    For example, I can change the **SetCommand** from `"setmessage"` to `"set"`

    ```lua theme={null}
    SetCommand = "set", --<< Command to set the message 
    ```
  </Tab>

  <Tab title="Filtering">
    ```lua theme={null}
    FilterEnabled = true, --<< Enable or disable message filtering (we are not responsible if your game is moderated) 
    HarshFilter = false, --<< When set to true, numbers and combinations of letters could be flagged by Roblox automatically ->>
    ```

    * When **FilterEnabled** is set to `true`, the Roblox chat filter will automatically apply for any messages that appear.
    * When **FilterEnabled** is set to `false`, it could put your Roblox game at risk of being moderated, however it could be unlikely unless reported or flagged

    <Warning>
      We are **<u>not</u>** responsible if your game is taken down for not having the filter enabled
    </Warning>
  </Tab>

  <Tab title="Misc">
    ```lua theme={null}
    Cooldown = 3, --<< Cooldown between setting messages again (affects the entire server) 
    ```

    * You can change the cooldown to any amount of seconds (including `0`)
    * When a message is sent, the cooldown will be active until that number of seconds runs out, which prevents all other administrators from submitting updates to the banner
    * You can set the cooldown to `0` if you wish for there to be no delay between updating messages

      ```lua theme={null}
      Cooldown = 0, --<< Cooldown between setting messages again (affects the entire ser
      ```

    ```lua theme={null}
    ServerTimezone = "BST", --<< Server wide timezone (check the list of available timezones at the bottom) 
    MultipleServers = true, --<< Enable or disable the ability to have messages be communicated across servers 

    WebhookUrl = "", --<< Discord webhook URL (leave blank if not in use)
    ```

    When **MultipleServers** is set to `true`, the system will automatically send any messages or updates to settings across all servers in your game

    **WebhookUrl** is a discord webhook URL from a channel

    **ServerTimezone** is similar to Vision, where you can enter a specific timezone.

    These timezones will be available at the <u>bottom</u> of the configuration, and also found here:

    # Timezones

    GMT - Greenwich Mean Time\
    BST - British Summer Time\
    UTC - Coordinated Universal Time\
    CET - Central European Time\
    CEST - Central European Summer Time\
    EET - Eastern European Time\
    EEST - Eastern European Summer Time\
    ET - Eastern Time\
    EST - Eastern Standard Time\
    EDT - Eastern Daylight Time\
    CT - Central Time\
    CST - Central Standard Time\
    CDT - Central Daylight Time\
    MT - Mountain Time\
    MST - Mountain Standard Time\
    MDT - Mountain Daylight Time\
    PT - Pacific Time\
    PST - Pacific Standard Time\
    PDT - Pacific Daylight Time\
    IST - Indian Standard Time\
    JST - Japan Standard Time\
    AEST - Australian Eastern Standard Time\
    AEDT - Australian Eastern Daylight Time\
    ACST - Australian Central Standard Time\
    AWST - Australian Western Standard Time
  </Tab>

  <Tab title="Customisation">
    ```lua theme={null}
    Customisation = { --<< Customise the look of the system 
    	SelectedTheme = "Normal", 
    	TextColour = Color3.fromRGB(255, 255, 255),
    	BorderColour = Color3.fromRGB(255, 255, 255), 
    	DefaultVisibility = true, 	
        BorderEnabled = true, 
    	ThemeColour = Color3.fromRGB(31, 34, 40), 
    	Transparency = 0, 
    	GhostMode = false, 
    	UIPosition = 1, 		
        NotificationSound = "rbxassetid://96867813755421",
    	UIOffset = 0, 
    },
    ```

    * **SelectedTheme**: automatically set to `"Normal"`

          <Info>
            **There are no other themes available. When introduced, they will be included here**
          </Info>
    * **TextColour**: changes the colour of the message banner text

          <Info>
            This must be a <u>RGB</u> colour, as shown below. You can edit this using **Roblox's built in colour picker**

            ```lua theme={null}
            Color3.fromRGB(255, 255, 255)
            ```
          </Info>
    * **BorderColour**: changes the colour of all elements with a border enabled

          <Info>
            This must be a <u>RGB</u> colour, as shown below. You can edit this using **Roblox's built in colour picker**

            ```lua theme={null}
            Color3.fromRGB(255, 255, 255)
            ```
          </Info>
    * **DefaultVisibility**

      When set to `true`, the banner will automatically be visible when the server starts up

      ```lua theme={null}
      DefaultVisibility = true, 	
      ```

      When set to `false`, you will **not** be able to view the message banner, but you can still **click** in the area where the banner is. You will <u>still</u> be able to interact with the banner as usual

      ```lua theme={null}
      DefaultVisibility = false, 	
      ```
    * **BorderEnabled**

      When set to `true`, it will enable all borders around visual elements\
      When set to `false`, it will disable all borers around visual elements
    * **ThemeColour**: this is a specific theme colour that applies to all visual elements

          <Info>
            This must be a <u>RGB</u> colour, as shown below. You can edit this using **Roblox's built in colour picker**

            ```lua theme={null}
            Color3.fromRGB(255, 255, 255)
            ```
          </Info>
    * **Transparency**: sets the transparency (see throughness) of the message banner

          <Info>
            This can be between 0 and 1 e.g `0.5`

            ```lua theme={null}
            Transparency = 0.5,
            ```
          </Info>
    * **GhostMode**

      When set to `true`, the entire banner will be invisible, **except** the message text

          <Info>
            The message banner will just have the text with **no** background
          </Info>

      When set to `false`, the banner will be reset to its original state, which depends on other configuration options
    * **UIPosition**

      When set to `1`, it will be right at the top of the screen, as demonstrated below

          <img src="https://mintcdn.com/jadevelopment/rTIXWGIOZm-rjaEU/images/dfgkreertretrotero.png?fit=max&auto=format&n=rTIXWGIOZm-rjaEU&q=85&s=8bb660b128e97445d55f78aac75df6e0" alt="Dfgkreertretrotero Pn" width="1274" height="61" data-path="images/dfgkreertretrotero.png" />

      When set to `2`, it will be underneath the core Roblox UI, as demonstrated below

          <img src="https://mintcdn.com/jadevelopment/rTIXWGIOZm-rjaEU/images/eryerlyerlyretewrr.png?fit=max&auto=format&n=rTIXWGIOZm-rjaEU&q=85&s=f7df979c3765ed380107040d1788c785" alt="Eryerlyerlyretewrr Pn" width="1272" height="102" data-path="images/eryerlyerlyretewrr.png" />
    * **NotificationSound**: this is a sound effect that plays when a notification occurs in the system

          <Warning>
            The sound effect provided **may not play** until the licence owner obtains the sound effect from us (similar to Radiolink installation)

            \
            You can find the sound effect here: [Promptly Sound Effect](https://create.roblox.com/store/asset/96867813755421/Promptly-SFX)
          </Warning>

      You can enter your own ID, or leave it as `0`

      ```lua theme={null}
      NotificationSound = "rbxassetid://0",
      ```
    * **UIOffset**

      Adjusts the vertical (Y-axis) position of UI elements. **Increase this value to move UI components** further down the screen for custom placement.

      **Example 1**: `UIOffset = 0`

          <img src="https://mintcdn.com/jadevelopment/OY1JMK_gJ3uhSk_P/images/woeroep591051.png?fit=max&auto=format&n=OY1JMK_gJ3uhSk_P&q=85&s=5150e976adbbbe73abb9954fe915528b" alt="Woeroep591051 Pn" width="1274" height="693" data-path="images/woeroep591051.png" />

      **Example 2**: `UIOffset = 25`

          <img src="https://mintcdn.com/jadevelopment/OY1JMK_gJ3uhSk_P/images/tpaprowproqworwqorwqor124.png?fit=max&auto=format&n=OY1JMK_gJ3uhSk_P&q=85&s=b994b02280a9c35aec4b91c7bcc90b67" alt="Tpaprowproqworwqorwqor124 Pn" width="1274" height="616" data-path="images/tpaprowproqworwqorwqor124.png" />
  </Tab>

  <Tab title="Automation">
    ```lua theme={null}
    VisionPeriods = false, --<< When set to true, the system will automatically detect when Vision periods take place, and will update the banner
    VisibleOnEvent = true, --<< When set to true, the banner will be visible when a Vision period or scheduled message happens
    ```

    **VisionPeriods**\
    When set to `true`, the system will detect when lessons occur on [Vision MIS](https://jadevelopment.co.uk/products/jadevelopment-vision), and will update the banner in time for the lesson's start time\
    \
    **VisibleOnEvent**\
    When set to `true`, the banner will be visible when a Vision period or scheduled message happens. For context, if the banner is not visible, it will make itself visible when a scheduled event occurs.
  </Tab>

  <Tab title="Scheduled Messages">
    By default, scheduled messages are **<u>not</u>** enabled

    * You can have **multiple messages** that automatically send to everyone on the banner and will notify them at the time
    * The messages will send at the specified time of the timezone that has been selected prior

    ```lua theme={null}
    ScheduledMessages = {
    	Enabled = false, 
    	Messages = {
    		{
    			Title = "Welcome to the game",
    			Time = "12:00",
    			Message = "Message here",
    		},
    	}
    }
    ```

    **To make a new message, simply copy the message template below:**

    ```lua theme={null}
    {
    	Title = "Hello",
    	Time = "13:00",
    	Message = "Message here",
    },
    ```

    **Then, simply paste it underneath the previous message:**

    ```lua theme={null}
    ScheduledMessages = {
    	Enabled = false, 
    	Messages = {
    		{
    			Title = "Welcome to the game",
    			Time = "12:00",
    			Message = "Message here",
    		},
    		{
    			Title = "Hello",
    			Time = "13:00",
    			Message = "Message here",
    		},
    	}
    }
    ```
  </Tab>
</Tabs>
