[
  {
    "$schema": "https://moonlight-mod.github.io/manifest.schema.json",
    "id": "messageClickActions",
    "version": "1.0.0",
    "apiLevel": 2,
    "meta": {
      "name": "Message Click Actions",
      "tagline": "Customize click actions on messages.",
      "description": "Assign single-click, double-click, and triple-click actions to messages with optional modifier keys. Supports delete, copy link, copy ID, copy content, copy user ID, edit, reply, react, quote, pin, and more. [ported from Vencord/Equicord]",
      "authors": [
        "notfishvr"
      ],
      "source": "https://github.com/official-notfishvr/moonlight-extensions",
      "tags": [
        "chat",
        "qol"
      ]
    },
    "dependencies": [
      "spacepack"
    ],
    "settings": {
      "reactEmoji": {
        "type": "string",
        "displayName": "React Emoji",
        "description": "Emoji to use for react actions",
        "default": "💀"
      },
      "singleClickAction": {
        "type": "select",
        "displayName": "Single Click Action (Own)",
        "description": "Action on single click (your messages)",
        "default": "DELETE",
        "options": [
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Delete",
            "value": "DELETE"
          },
          {
            "label": "Copy Link",
            "value": "COPY_LINK"
          },
          {
            "label": "Copy ID",
            "value": "COPY_ID"
          },
          {
            "label": "Copy Content",
            "value": "COPY_CONTENT"
          },
          {
            "label": "Copy User ID",
            "value": "COPY_USER_ID"
          },
          {
            "label": "Edit",
            "value": "EDIT"
          },
          {
            "label": "Reply",
            "value": "REPLY"
          },
          {
            "label": "React",
            "value": "REACT"
          },
          {
            "label": "Open Thread",
            "value": "OPEN_THREAD"
          },
          {
            "label": "Open Tab",
            "value": "OPEN_TAB"
          }
        ]
      },
      "singleClickModifier": {
        "type": "select",
        "displayName": "Single Click Modifier (Own)",
        "description": "Modifier required for single click action (your messages)",
        "default": "BACKSPACE",
        "options": [
          {
            "label": "Backspace",
            "value": "BACKSPACE"
          },
          {
            "label": "Delete",
            "value": "DELETE"
          },
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Shift",
            "value": "SHIFT"
          },
          {
            "label": "Ctrl",
            "value": "CTRL"
          },
          {
            "label": "Alt",
            "value": "ALT"
          }
        ]
      },
      "singleClickOthersAction": {
        "type": "select",
        "displayName": "Single Click Action (Others)",
        "description": "Action on single click (others' messages)",
        "default": "DELETE",
        "options": [
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Delete",
            "value": "DELETE"
          },
          {
            "label": "Copy Link",
            "value": "COPY_LINK"
          },
          {
            "label": "Copy ID",
            "value": "COPY_ID"
          },
          {
            "label": "Copy Content",
            "value": "COPY_CONTENT"
          },
          {
            "label": "Copy User ID",
            "value": "COPY_USER_ID"
          },
          {
            "label": "Edit",
            "value": "EDIT"
          },
          {
            "label": "Reply",
            "value": "REPLY"
          },
          {
            "label": "React",
            "value": "REACT"
          },
          {
            "label": "Open Thread",
            "value": "OPEN_THREAD"
          },
          {
            "label": "Open Tab",
            "value": "OPEN_TAB"
          }
        ]
      },
      "singleClickOthersModifier": {
        "type": "select",
        "displayName": "Single Click Modifier (Others)",
        "description": "Modifier required for single click action (others' messages)",
        "default": "BACKSPACE",
        "options": [
          {
            "label": "Backspace",
            "value": "BACKSPACE"
          },
          {
            "label": "Delete",
            "value": "DELETE"
          },
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Shift",
            "value": "SHIFT"
          },
          {
            "label": "Ctrl",
            "value": "CTRL"
          },
          {
            "label": "Alt",
            "value": "ALT"
          }
        ]
      },
      "doubleClickAction": {
        "type": "select",
        "displayName": "Double Click Action (Own)",
        "description": "Action on double-click (your messages)",
        "default": "EDIT",
        "options": [
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Delete",
            "value": "DELETE"
          },
          {
            "label": "Reply",
            "value": "REPLY"
          },
          {
            "label": "Edit",
            "value": "EDIT"
          },
          {
            "label": "Quote",
            "value": "QUOTE"
          },
          {
            "label": "Copy Content",
            "value": "COPY_CONTENT"
          },
          {
            "label": "Copy Link",
            "value": "COPY_LINK"
          },
          {
            "label": "Copy ID",
            "value": "COPY_ID"
          },
          {
            "label": "Copy User ID",
            "value": "COPY_USER_ID"
          },
          {
            "label": "React",
            "value": "REACT"
          },
          {
            "label": "Pin",
            "value": "PIN"
          }
        ]
      },
      "doubleClickOthersAction": {
        "type": "select",
        "displayName": "Double Click Action (Others)",
        "description": "Action on double-click (others' messages)",
        "default": "REPLY",
        "options": [
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Delete",
            "value": "DELETE"
          },
          {
            "label": "Reply",
            "value": "REPLY"
          },
          {
            "label": "Quote",
            "value": "QUOTE"
          },
          {
            "label": "Copy Content",
            "value": "COPY_CONTENT"
          },
          {
            "label": "Copy Link",
            "value": "COPY_LINK"
          },
          {
            "label": "Copy ID",
            "value": "COPY_ID"
          },
          {
            "label": "Copy User ID",
            "value": "COPY_USER_ID"
          },
          {
            "label": "React",
            "value": "REACT"
          },
          {
            "label": "Pin",
            "value": "PIN"
          }
        ]
      },
      "doubleClickModifier": {
        "type": "select",
        "displayName": "Double Click Modifier",
        "description": "Modifier required for double-click action",
        "default": "NONE",
        "options": [
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Shift",
            "value": "SHIFT"
          },
          {
            "label": "Ctrl",
            "value": "CTRL"
          },
          {
            "label": "Alt",
            "value": "ALT"
          }
        ]
      },
      "tripleClickAction": {
        "type": "select",
        "displayName": "Triple Click Action",
        "description": "Action on triple-click",
        "default": "REACT",
        "options": [
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Delete",
            "value": "DELETE"
          },
          {
            "label": "Copy Link",
            "value": "COPY_LINK"
          },
          {
            "label": "Copy ID",
            "value": "COPY_ID"
          },
          {
            "label": "Copy Content",
            "value": "COPY_CONTENT"
          },
          {
            "label": "Copy User ID",
            "value": "COPY_USER_ID"
          },
          {
            "label": "Edit",
            "value": "EDIT"
          },
          {
            "label": "Reply",
            "value": "REPLY"
          },
          {
            "label": "React",
            "value": "REACT"
          },
          {
            "label": "Open Thread",
            "value": "OPEN_THREAD"
          },
          {
            "label": "Open Tab",
            "value": "OPEN_TAB"
          }
        ]
      },
      "tripleClickModifier": {
        "type": "select",
        "displayName": "Triple Click Modifier",
        "description": "Modifier required for triple-click action",
        "default": "NONE",
        "options": [
          {
            "label": "None",
            "value": "NONE"
          },
          {
            "label": "Shift",
            "value": "SHIFT"
          },
          {
            "label": "Ctrl",
            "value": "CTRL"
          },
          {
            "label": "Alt",
            "value": "ALT"
          }
        ]
      },
      "disableInDms": {
        "type": "boolean",
        "displayName": "Disable in DMs",
        "description": "Disable all click actions in direct messages",
        "default": false
      },
      "disableInSystemDms": {
        "type": "boolean",
        "displayName": "Disable in System DMs",
        "description": "Disable all click actions in system DMs",
        "default": true
      },
      "clickTimeout": {
        "type": "number",
        "displayName": "Click Timeout",
        "description": "Timeout to distinguish double/triple clicks (ms)",
        "default": 300,
        "min": 100,
        "max": 500
      },
      "doubleClickHoldThreshold": {
        "type": "number",
        "displayName": "Double Click Hold Threshold",
        "description": "Max hold time for double-click actions (ms). Holding longer allows text selection",
        "default": 150,
        "min": 50,
        "max": 500
      },
      "deferDoubleClickForTriple": {
        "type": "boolean",
        "displayName": "Defer Double Click for Triple",
        "description": "Delay double-click to allow triple-click actions (disables triple-click when off)",
        "default": true
      },
      "selectionHoldTimeout": {
        "type": "number",
        "displayName": "Selection Hold Timeout",
        "description": "Timeout to allow text selection (ms)",
        "default": 300,
        "min": 100,
        "max": 1000
      },
      "quoteWithReply": {
        "type": "boolean",
        "displayName": "Quote with Reply",
        "description": "When quoting, also reply to the message",
        "default": true
      },
      "useSelectionForQuote": {
        "type": "boolean",
        "displayName": "Use Selection for Quote",
        "description": "When quoting, use selected text if available",
        "default": false
      }
    },
    "download": "https://official-notfishvr.github.io/moonlight-extensions/messageClickActions.asar"
  },
  {
    "$schema": "https://moonlight-mod.github.io/manifest.schema.json",
    "id": "messageLogger",
    "version": "3.0.0",
    "apiLevel": 2,
    "meta": {
      "name": "Message Logger",
      "tagline": "Logs deleted and edited messages",
      "description": "Keeps deleted messages visible and stores edit history so you never miss what was said.",
      "authors": [
        "notfishvr"
      ],
      "source": "https://github.com/official-notfishvr/moonlight-extensions",
      "tags": [
        "chat",
        "utility"
      ]
    },
    "dependencies": [
      "componentEditor",
      "contextMenu",
      "spacepack"
    ],
    "settings": {
      "deleteStyle": {
        "type": "string",
        "displayName": "Deleted Message Style",
        "description": "How deleted messages should appear.",
        "default": "text",
        "options": [
          {
            "label": "Red Text",
            "value": "text"
          },
          {
            "label": "Red Overlay",
            "value": "overlay"
          }
        ]
      },
      "logDeletes": {
        "type": "boolean",
        "displayName": "Log Deletes",
        "description": "Keep deleted messages visible instead of removing them.",
        "default": true
      },
      "logEdits": {
        "type": "boolean",
        "displayName": "Log Edits",
        "description": "Store previous versions of edited messages.",
        "default": true
      },
      "inlineEdits": {
        "type": "boolean",
        "displayName": "Inline Edit History",
        "description": "Show edit history directly under the message.",
        "default": true
      },
      "showEditDiffs": {
        "type": "boolean",
        "displayName": "Show Edit Diffs",
        "description": "Highlight text differences between edit versions.",
        "default": true
      },
      "ignoreBots": {
        "type": "boolean",
        "displayName": "Ignore Bots",
        "description": "Do not log messages from bots.",
        "default": false
      },
      "ignoreSelf": {
        "type": "boolean",
        "displayName": "Ignore Self",
        "description": "Do not log your own messages.",
        "default": false
      },
      "ignoreUsers": {
        "type": "string",
        "displayName": "Ignore Users",
        "description": "Comma-separated list of user IDs to ignore.",
        "default": ""
      },
      "ignoreChannels": {
        "type": "string",
        "displayName": "Ignore Channels",
        "description": "Comma-separated list of channel IDs to ignore.",
        "default": ""
      },
      "ignoreGuilds": {
        "type": "string",
        "displayName": "Ignore Guilds",
        "description": "Comma-separated list of guild IDs to ignore.",
        "default": ""
      },
      "collapseDeleted": {
        "type": "boolean",
        "displayName": "Collapse Deleted",
        "description": "Group deleted messages similar to blocked messages.",
        "default": false
      }
    },
    "download": "https://official-notfishvr.github.io/moonlight-extensions/messageLogger.asar"
  },
  {
    "$schema": "https://moonlight-mod.github.io/manifest.schema.json",
    "id": "moreUserTags",
    "version": "1.0.0",
    "apiLevel": 2,
    "meta": {
      "name": "More User Tags",
      "tagline": "Adds tags for webhooks and moderative roles (owner, admin, etc.)",
      "description": "Displays additional user tags in chat and member lists based on server permissions. Supports Owner, Admin, Staff, Mod, VC Mod, Chat Mod, and Webhook tags with customizable text and visibility. [ported from Vencord]",
      "authors": [
        "notfishvr"
      ],
      "source": "https://github.com/official-notfishvr/moonlight-extensions",
      "tags": [
        "chat",
        "qol"
      ]
    },
    "dependencies": [
      "spacepack"
    ],
    "settings": {
      "dontShowForBots": {
        "type": "boolean",
        "displayName": "Don't Show for Bots",
        "description": "Don't show extra tags for bots (excluding webhooks)",
        "default": false
      },
      "dontShowBotTag": {
        "type": "boolean",
        "displayName": "Only Show Extra Tags for Bots",
        "description": "Only show extra tags for bots / Hide [APP] text",
        "default": false,
        "advice": "restart"
      },
      "showWebhookTagFully": {
        "type": "boolean",
        "displayName": "Show Webhook Tag in Followed Channels",
        "description": "Show Webhook tag in followed channels like announcements",
        "default": false
      },
      "tagText_WEBHOOK": {
        "type": "string",
        "displayName": "Webhook Tag Text",
        "description": "Text displayed on the Webhook tag",
        "default": "Webhook"
      },
      "tagText_OWNER": {
        "type": "string",
        "displayName": "Owner Tag Text",
        "description": "Text displayed on the Owner tag",
        "default": "Owner"
      },
      "tagText_ADMINISTRATOR": {
        "type": "string",
        "displayName": "Admin Tag Text",
        "description": "Text displayed on the Admin tag",
        "default": "Admin"
      },
      "tagText_MODERATOR_STAFF": {
        "type": "string",
        "displayName": "Staff Tag Text",
        "description": "Text displayed on the Staff tag",
        "default": "Staff"
      },
      "tagText_MODERATOR": {
        "type": "string",
        "displayName": "Mod Tag Text",
        "description": "Text displayed on the Mod tag",
        "default": "Mod"
      },
      "tagText_VOICE_MODERATOR": {
        "type": "string",
        "displayName": "VC Mod Tag Text",
        "description": "Text displayed on the VC Mod tag",
        "default": "VC Mod"
      },
      "tagText_CHAT_MODERATOR": {
        "type": "string",
        "displayName": "Chat Mod Tag Text",
        "description": "Text displayed on the Chat Mod tag",
        "default": "Chat Mod"
      },
      "showInChat_WEBHOOK": {
        "type": "boolean",
        "displayName": "Show Webhook in Chat",
        "description": "Show the Webhook tag in messages",
        "default": true
      },
      "showInChat_OWNER": {
        "type": "boolean",
        "displayName": "Show Owner in Chat",
        "description": "Show the Owner tag in messages",
        "default": true
      },
      "showInChat_ADMINISTRATOR": {
        "type": "boolean",
        "displayName": "Show Admin in Chat",
        "description": "Show the Admin tag in messages",
        "default": true
      },
      "showInChat_MODERATOR_STAFF": {
        "type": "boolean",
        "displayName": "Show Staff in Chat",
        "description": "Show the Staff tag in messages",
        "default": true
      },
      "showInChat_MODERATOR": {
        "type": "boolean",
        "displayName": "Show Mod in Chat",
        "description": "Show the Mod tag in messages",
        "default": true
      },
      "showInChat_VOICE_MODERATOR": {
        "type": "boolean",
        "displayName": "Show VC Mod in Chat",
        "description": "Show the VC Mod tag in messages",
        "default": true
      },
      "showInChat_CHAT_MODERATOR": {
        "type": "boolean",
        "displayName": "Show Chat Mod in Chat",
        "description": "Show the Chat Mod tag in messages",
        "default": true
      },
      "showOutsideChat_WEBHOOK": {
        "type": "boolean",
        "displayName": "Show Webhook Outside Chat",
        "description": "Show the Webhook tag in member list and profiles",
        "default": true
      },
      "showOutsideChat_OWNER": {
        "type": "boolean",
        "displayName": "Show Owner Outside Chat",
        "description": "Show the Owner tag in member list and profiles",
        "default": true
      },
      "showOutsideChat_ADMINISTRATOR": {
        "type": "boolean",
        "displayName": "Show Admin Outside Chat",
        "description": "Show the Admin tag in member list and profiles",
        "default": true
      },
      "showOutsideChat_MODERATOR_STAFF": {
        "type": "boolean",
        "displayName": "Show Staff Outside Chat",
        "description": "Show the Staff tag in member list and profiles",
        "default": true
      },
      "showOutsideChat_MODERATOR": {
        "type": "boolean",
        "displayName": "Show Mod Outside Chat",
        "description": "Show the Mod tag in member list and profiles",
        "default": true
      },
      "showOutsideChat_VOICE_MODERATOR": {
        "type": "boolean",
        "displayName": "Show VC Mod Outside Chat",
        "description": "Show the VC Mod tag in member list and profiles",
        "default": true
      },
      "showOutsideChat_CHAT_MODERATOR": {
        "type": "boolean",
        "displayName": "Show Chat Mod Outside Chat",
        "description": "Show the Chat Mod tag in member list and profiles",
        "default": true
      }
    },
    "download": "https://official-notfishvr.github.io/moonlight-extensions/moreUserTags.asar"
  },
  {
    "$schema": "https://moonlight-mod.github.io/manifest.schema.json",
    "id": "noPendingCount",
    "version": "1.1.0",
    "apiLevel": 2,
    "meta": {
      "name": "No Pending Count",
      "tagline": "Removes the ping count of incoming friend requests, message requests, and nitro offers.",
      "description": "Removes the badge count indicators for incoming friend requests, message requests, and Nitro offers. Each can be toggled individually in settings. Ported from [Vencord noPendingCount made by amia](https://github.com/Vendicated/Vencord/tree/main/src/plugins/noPendingCount).",
      "authors": [
        "notfishvr"
      ],
      "source": "https://github.com/official-notfishvr/moonlight-extensions"
    },
    "settings": {
      "hideFriendRequestsCount": {
        "type": "boolean",
        "displayName": "Hide friend requests count",
        "description": "Hide incoming friend requests count",
        "default": true,
        "advice": "reload"
      },
      "hideMessageRequestsCount": {
        "type": "boolean",
        "displayName": "Hide message requests count",
        "description": "Hide message requests count",
        "default": true,
        "advice": "reload"
      },
      "hidePremiumOffersCount": {
        "type": "boolean",
        "displayName": "Hide Nitro offers count",
        "description": "Hide nitro offers count",
        "default": true,
        "advice": "reload"
      }
    },
    "download": "https://official-notfishvr.github.io/moonlight-extensions/noPendingCount.asar"
  },
  {
    "$schema": "https://moonlight-mod.github.io/manifest.schema.json",
    "id": "validReply",
    "version": "1.0.0",
    "apiLevel": 2,
    "meta": {
      "name": "Valid Reply",
      "tagline": "Fix broken reply references.",
      "description": "Fixes 'Message could not be loaded' upon hovering over a reply by fetching the referenced message from the API. [ported from Vencord]",
      "authors": [
        "notfishvr"
      ],
      "source": "https://github.com/official-notfishvr/moonlight-extensions",
      "tags": [
        "chat",
        "fixes"
      ]
    },
    "dependencies": [
      "spacepack"
    ],
    "download": "https://official-notfishvr.github.io/moonlight-extensions/validReply.asar"
  },
  {
    "$schema": "https://moonlight-mod.github.io/manifest.schema.json",
    "id": "validUser",
    "version": "1.0.0",
    "apiLevel": 2,
    "meta": {
      "name": "Valid User",
      "tagline": "Fix unknown user mentions.",
      "description": "Fixes mentions for unknown users showing up as '@unknown-user' by fetching user data on hover. [ported from Vencord]",
      "authors": [
        "notfishvr"
      ],
      "source": "https://github.com/official-notfishvr/moonlight-extensions",
      "tags": [
        "chat",
        "fixes"
      ]
    },
    "dependencies": [
      "spacepack"
    ],
    "download": "https://official-notfishvr.github.io/moonlight-extensions/validUser.asar"
  },
  {
    "$schema": "https://moonlight-mod.github.io/manifest.schema.json",
    "id": "viewRaw",
    "version": "1.0.0",
    "apiLevel": 2,
    "meta": {
      "name": "View Raw",
      "tagline": "View raw JSON data of messages, channels, guilds, users, and roles.",
      "description": "Copy and view the raw content/data of any message, channel, guild, user, or role via context menus. [ported from Vencord]",
      "authors": [
        "notfishvr"
      ],
      "source": "https://github.com/official-notfishvr/moonlight-extensions",
      "tags": [
        "chat",
        "qol"
      ]
    },
    "dependencies": [
      "spacepack",
      "contextMenu"
    ],
    "settings": {},
    "download": "https://official-notfishvr.github.io/moonlight-extensions/viewRaw.asar"
  }
]