Tracks that are at least one hour long will have two colons so this commit should check whether there are one or two colons in the timestamp, and then calculate the seconds based on that, so as to not ignore seconds when the track exceeds an hour.
* Heading images and donation buttons are now centered.
* Improved tables
* System support more infromative now.
* Part of donation options are hidden now.
* Some improvements in code.
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at contact@premid.app or by contacting a staff member on our [Discord server](https://discord.premid.app). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
"message":"PreMiD fügt eine Discord-Rich-Presence-Integration, Kontrolle über Multimediatasten und viele weitere Funktionen zu YouTube/YouTube Music, Twitch etc. hinzu."
},
"connected":{
"message":"Verbunden"
},
"disconnected":{
"message":"Getrennt"
},
"installedThanks":{
"message":"Vielen Dank, für das Installieren von PreMiD"
},
"installedApp":{
"message":"Hast du das Programm bereits installiert?"
},
"installedNo":{
"message":"Nein? Folge dieser Anleitung:"
},
"installedStepApp":{
"message":"Lade die neueste Version von $1 herunter"
},
"installedStepAppMyRepository":{
"message":"meinem GitHub Repository"
},
"installedWaitInstalled":{
"message":"Offne das Installationsprogramm und warte bis die Installation abgeschlossen ist"
},
"installedMayWarning":{
"message":"Möglicherweise bekommst du eine Warnung von deiner FireWall und SmartScreen (Es ist kein Virus. Das verspreche ich dir!)"
},
"installedAppAutostart":{
"message":"Das Programm sollte automatisch starten. Du kannst dies prüfen, indem du auf deine Taskbar (Windows) oder deine Menubar (MacOS) schaust"
},
"installedYes":{
"message":"Ja? Jetzt bist du bereit!"
},
"installedStart":{
"message":"Starte, indem du ein Video auf YouTube, deine Lieblingsstreamer auf Twitch, deine Lieblings Animes auf KissAnime oder JKAnime anschaust oder vielleicht sogar Netflix... Wer weiß?<br>Oder du hörst dir deine Lieblingslieder auf SoundCloud und YouTube Music an. Einstellungen findest du indem du auf das PreMiD icon in deinem Browser klickst."
},
"installedSupportMe":{
"message":"Unterstütze mich!"
},
"updatedYTPUpdated":{
"message":"PreMiD wurde aktualisiert!"
},
"updatedWhatsNew":{
"message":"Was ist neu?"
},
"updatedWhatChanged":{
"message":"Was hat sich geändert?"
},
"updatedAdded0":{
"message":"Support für JKAnime & KissAnime"
},
"updatedAdded1":{
"message":"Erweiterungs Popup"
},
"updatedChanged0":{
"message":"Eine Menge und Ich meine eine Menge Neuschreibungen!"
},
"updatedChanged1":{
"message":"Große Schnelligkeits Verbesserungen der App"
"message":"PreMiD adds Discord Rich Presence integration, Media controls and much more to YouTube/YouTube Music, Twitch etc..."
},
"connected":{
"message":"Connected"
},
"disconnected":{
"message":"Disconnected"
},
"installedThanks":{
"message":"Thank you for installing PreMiD"
},
"installedApp":{
"message":"Did you install the application yet?"
},
"installedNo":{
"message":"No? Follow these steps:"
},
"installedStepApp":{
"message":"Download the latest version from $1"
},
"installedStepAppMyRepository":{
"message":"my repository"
},
"installedWaitInstalled":{
"message":"Open the installer and wait until it installed"
},
"installedMayWarning":{
"message":"You may receive a warning about FireWall and SmartScreen (Its not a virus i promise)"
},
"installedAppAutostart":{
"message":"The application should start automatically, you can check this by looking at your taskbar (Windows) or your menubar (MacOS)"
},
"installedYes":{
"message":"Yes? You are ready to go!"
},
"installedStart":{
"message":"Start by watching a video on YouTube, watching your loved streamers on Twitch, Watch your favourite animes on KissAnime or JKAnime, maybe even Netflix... Who knows?<br>Or you just listen to your favourite songs on SoundCloud and YouTube Music. Settings can be found by clicking the PreMiD icon in your browser."
PreMiD is a simple, configurable utility that lets you show what you're doing on the web in your Discord profile. Whether you're watching videos, listening to music, browsing your favorite sites, or playing browser games, PreMiD helps you share your online activities with your friends through Discord's Rich Presence feature.
## Summary
## Getting Started
**PreMiD**is a simple, configurable utility that allows you to show what you're watching/listening in your Discord **now playing status**. It supports [many different platforms](#support), and will support multiple users watching the same content simultaneously in an upcoming update.
**Looking to use PreMiD?**Head over to our [official website](https://premid.app) to add the browser extension!
**Want to create your own Activity?** All of our community-created activities are open source and available at [github.com/PreMiD/Activities](https://github.com/PreMiD/Activities). We'd love to see what you create!
## Features
-Integrates with Discord's official Rich Presence API library.
-Supports your keyboard's **Media Control** function keys.
-Automatically clears your current presence after 1 minute of inactivity.
-Supports **YouTube, YouTube Music, Netflix, SoundCloud, JKAnime, KissAnime** and many more to come.
-_Watch parties and more are coming soon!_
-🎵 Show what you're listening to on YouTube and more (Spotify has native Discord support)
-📺 Display what you're watching on Netflix, Disney+, Twitch, and hundreds of other sites
-🎮 Share your browser game activity with friends
-✨ Fully customizable with thousands of user-created Activities
-🌍 Available in multiple languages thanks to our amazing community translators
# Table of contents
## Community
- [About](#about)
- [Summary](#summary)
- [Features](#features)
- [Support](#support)
- [Operating Systems](#operating-systems)
- [Browsers](#browsers)
- [Services](#services)
- [Installation](#installation)
- [Extension](#extension)
- Chrome
- Opera
- [Application](#application)
- Mac OS
- Windows
PreMiD is built by the community, for the community. Join us and help make PreMiD even better!
We love community contributions! While **PreMiD's Activities are fully open source** (the code that makes websites show up on your profile), the PreMiD extension is not currently open source. This decision allows our small team to move fast and iterate quickly to deliver the best experience possible.
### **Browsers**
You can contribute by:
- Chrome
-Opera
- Creating new Activities at [github.com/PreMiD/Activities](https://github.com/PreMiD/Activities)
-Helping translate PreMiD on [Crowdin](https://crowdin.com/project/premid)
- Reporting bugs and suggesting features at [feedback.premid.app](https://feedback.premid.app)
- Supporting the project and spreading the word!
### **Services**
### Release
- YouTube
- YouTube Music
- Netflix
- SoundCloud
- Twitch
- JKAnime
- KissAnime
To release a new version of a package, run the following command:
One missing? Open an [Issue](https://github.com/Timeraa/PreMiD/issues/new?template=feature_request.md)!
```bash
cd apps/<app>
pnpm bumpp -y -t <app>-v
```
# Installation
Replace `<app>` with the name of the package you want to release. For example, to release a new version of the `schema-server` package, you would run:
## Extension
```bash
cd apps/schema-server
pnpm bumpp -y -t schema-server-v
```
<details>
<summary><b><u>Installing the Chrome extension</u></b> (Click to expand)</summary>
<li>Install the <a href="#application">application</a></li>
</ol>
</details>
<details>
<summary><b><u>Installing the Opera extension</u></b> (Click to expand)</summary>
<h1>Opera Extension Installation</h1>
<ol>
<li>Download the latest version of the <a href="https://github.com/Timeraa/YT-Presence/releases/latest">extension</a>
</li>
<li>Extract the downloaded <b>.zip</b> file</li>
<li>Open Opera</li>
<li>Go to <a href="chrome://extensions/">chrome://extensions/</a></li>
<li>Drag and drop the Folder <b>"Extension"</b> on the page<br>
<li>Install the <a href="#application">application</a></li>
</ol>
</details>
This will use bumpp to bump the version of the package in the `package.json` file, create a tag for the new version, and push the changes to the remote repository.
## Application
## License
<details>
<summary><b><u>Mac OS</u></b> (Click to expand)</summary>
<h1>Installation on Mac OS</h1>
<ol>
<li>Download the latest version of the <a href="https://github.com/Timeraa/YT-Presence/releases/latest">application</a>
</li>
<li>Open the downloaded <b>.dmg</b> file</li>
<li>Drag <b>PreMiD</b> Into your <b>Applications</b> Folder</li>
<li>Open your Launchpad or press F4</li>
<li>Open <b>PreMiD</b></li>
<li>Press <b>"Allow"</b> if a window pops up</li>
<li>Install <a href="#extension">extension</a> if not already</li>
</ol>
</details>
<details>
<summary><b><u>Windows</u></b> (Click to expand)</summary>
<h1>Installation on Windows</h1>
<ol>
<li>Download the latest installer from <a href="https://github.com/Timeraa/YT-Presence/releases/">here</a></li>
<li>Open the downloaded <b>.exe</b> installer</li>
<li>If SmartScreen comes up press more informations then press run anyways. (It's not a virus, I promise.)</li>
<li>YouTube Presence should install itself and start automatically. (You can tell by looking at the taskbar.)</li>
<li>Install the <a href="#extension">extension</a>, if you haven't already.</li>
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"pattern":"^[a-z]{2}(_[A-Z]{2})?$"
},
"patternProperties":{
"^[a-z]{2}(_[A-Z]{2})?$":{
"type":"string",
"description":"The description of the presence in the key's language."
}
},
"additionalProperties":false,
"required":["en"]
},
"url":{
"type":["string","array"],
"description":"The service's website URL, or an array of URLs. Protocols should not be added.",
"description":"Whether or not the presence should run in IFrames."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"pattern":"^fa[bs] fa-[0-9a-z-]+$"
},
"if":{
"type":"object",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"pattern":"^[a-z]{2}(_[A-Z]{2})?$"
},
"patternProperties":{
"^[a-z]{2}(_[A-Z]{2})?$":{
"type":"string",
"description":"The description of the presence in the key's language."
}
},
"additionalProperties":false,
"required":["en"]
},
"url":{
"type":["string","array"],
"description":"The service's website URL, or an array of URLs. Protocols should not be added.",
"description":"Whether or not the presence should run in IFrames."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"pattern":"^fa[bs] fa-[0-9a-z-]+$"
},
"if":{
"type":"object",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"description":"Whether or not the presence should run in IFrames."
},
"readLogs":{
"type":"boolean",
"description":"Whether or not the extension should be reading logs."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"matches":{
"type":"array",
"description":"A glob pattern required to match Google's match pattern (https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns). This is required for Presences.",
"items":{
"type":"string",
"description":"A glob pattern.",
"pattern":"^(https|http|[*])://.*/.*"
}
},
"iFrameMatches":{
"type":"array",
"description":"A glob pattern required to match Google's match pattern (https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns). This is required for Presences.",
"items":{
"type":"string",
"description":"A glob pattern.",
"pattern":"^(https|http|[*])://.*/.*"
}
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":[
"name",
"id"
]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":[
"string",
"number",
"boolean"
],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":[
"string",
"number",
"boolean"
],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":[
"string",
"number",
"boolean"
],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":[
"string",
"boolean",
"array"
],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":[
"name",
"id"
]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"description":"Metadata that describes a activity.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":[
"name",
"id"
]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this activity."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this activity.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this activity is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the activity in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(-regioncode).",
"description":"Metadata that describes a activity.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":[
"name",
"id"
]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this activity."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this activity.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this activity is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the activity in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(-regioncode).",
"description":"Metadata that describes a activity.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":[
"name",
"id"
]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this activity."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this activity.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this activity is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the activity in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(-regioncode).",
"description":"Metadata that describes an activity.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":[
"name",
"id"
]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this activity."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this activity.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this activity is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the activity in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key in the format: languagecode or languagecode-regioncode.",
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"pattern":"^[a-z]{2}(_[A-Z]{2})?$"
},
"patternProperties":{
"^[a-z]{2}(_[A-Z]{2})?$":{
"type":"string",
"description":"The description of the presence in the key's language."
}
},
"additionalProperties":false,
"required":["en"]
},
"url":{
"type":["string","array"],
"description":"The service's website URL, or an array of URLs. Protocols should not be added.",
"description":"Whether or not the presence should run in IFrames."
},
"readLogs":{
"type":"boolean",
"description":"Whether or not the extension should be reading logs."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"pattern":"^fa[bs] fa-[0-9a-z-]+$"
},
"if":{
"type":"object",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"pattern":"^[a-z]{2}(_[A-Z]{2})?$"
},
"patternProperties":{
"^[a-z]{2}(_[A-Z]{2})?$":{
"type":"string",
"description":"The description of the presence in the key's language."
}
},
"additionalProperties":false,
"required":["en"]
},
"url":{
"type":["string","array"],
"description":"The service's website URL, or an array of URLs. Protocols should not be added.",
"description":"Whether or not the presence should run in IFrames."
},
"readLogs":{
"type":"boolean",
"description":"Whether or not the extension should be reading logs."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"pattern":"^fa[bsd] fa-[0-9a-z-]+$"
},
"if":{
"type":"object",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"pattern":"^[a-z]{2}(_[A-Z]{2})?$"
},
"patternProperties":{
"^[a-z]{2}(_[A-Z]{2})?$":{
"type":"string",
"description":"The description of the presence in the key's language."
}
},
"additionalProperties":false,
"required":["en"]
},
"url":{
"type":["string","array"],
"description":"The service's website URL, or an array of URLs. Protocols should not be added.",
"description":"Whether or not the presence should run in IFrames."
},
"readLogs":{
"type":"boolean",
"description":"Whether or not the extension should be reading logs."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"pattern":"^fa[bsd] fa-[0-9a-z-]+$"
},
"if":{
"type":"object",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"pattern":"^[a-z]{2}(_[A-Z]{2})?$"
},
"patternProperties":{
"^[a-z]{2}(_[A-Z]{2})?$":{
"type":"string",
"description":"The description of the presence in the key's language."
}
},
"additionalProperties":false,
"required":["en"]
},
"url":{
"type":["string","array"],
"description":"The service's website URL, or an array of URLs. Protocols should not be added.",
"description":"Whether or not the presence should run in IFrames."
},
"readLogs":{
"type":"boolean",
"description":"Whether or not the extension should be reading logs."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"pattern":"^fa[bsd] fa-[0-9a-z-]+$"
},
"if":{
"type":"object",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"description":"Whether or not the presence should run in IFrames."
},
"readLogs":{
"type":"boolean",
"description":"Whether or not the extension should be reading logs."
},
"regExp":{
"type":"string",
"description":"A regular expression used to match URLs for the presence to inject into."
},
"iFrameRegExp":{
"type":"string",
"description":"A regular expression used to match IFrames for the presence to inject into."
},
"button":{
"type":"boolean",
"description":"Controls whether the presence is automatically added when the extension is installed. For partner presences only."
},
"warning":{
"type":"boolean",
"description":"Shows a warning saying that it requires additional steps for the presence to function correctly."
},
"settings":{
"type":"array",
"description":"An array of settings the user can change in the presence.",
"items":{
"type":"object",
"description":"A setting.",
"properties":{
"id":{
"type":"string",
"description":"The ID of the setting."
},
"title":{
"type":"string",
"description":"The title of the setting. Required only if `multiLanguage` is disabled."
},
"icon":{
"type":"string",
"description":"The icon of the setting. Required only if `multiLanguage` is disabled.",
"pattern":"^fa[bsd] fa-[0-9a-z-]+$"
},
"if":{
"type":"object",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
"description":"Metadata that describes a presence.",
"definitions":{
"user":{
"type":"object",
"description":"User information.",
"properties":{
"name":{
"type":"string",
"description":"The name of the user."
},
"id":{
"type":"string",
"description":"The Discord snowflake of the user.",
"pattern":"^\\d+$"
}
},
"additionalProperties":false,
"required":["name","id"]
}
},
"properties":{
"$schema":{
"$comment":"This is required otherwise the schema will fail itself when it is applied to a document via $schema. This is optional so that validators that use this schema don't fail if the metadata doesn't have the $schema property.",
"type":"string",
"description":"The metadata schema URL."
},
"author":{
"$ref":"#/definitions/user",
"description":"The author of this presence."
},
"contributors":{
"type":"array",
"description":"Any extra contributors to this presence.",
"items":{
"$ref":"#/definitions/user"
}
},
"service":{
"type":"string",
"description":"The service this presence is for."
},
"altnames":{
"type":"array",
"description":"Alternative names for the service.",
"items":{
"type":"string",
"description":"An alternative name."
},
"minItems":1
},
"description":{
"type":"object",
"description":"A description of the presence in multiple languages.",
"propertyNames":{
"type":"string",
"description":"The language key. The key must be languagecode(_REGIONCODE).",
"description":"Restrict showing this setting if another setting is the defined value.",
"propertyNames":{
"type":"string",
"description":"The ID of the setting."
},
"patternProperties":{
"":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"additionalProperties":false
},
"placeholder":{
"type":"string",
"description":"The placeholder for settings that require input. Shown when the input is empty."
},
"value":{
"type":["string","number","boolean"],
"description":"The default value of the setting. Not compatible with `values`."
},
"values":{
"type":"array",
"description":"The default values of the setting. Not compatible with `value`.",
"items":{
"type":["string","number","boolean"],
"description":"The value of the setting."
}
},
"multiLanguage":{
"type":["string","boolean","array"],
"description":"When false, multi-localization is disabled. When true, strings from the `general.json` file are available for use. When a string, it is the name of a file (excluding .json) of a used language from the localization GitHub repo. When an array of strings, it is all of the file names (excluding .json) of used languages from the localization GitHub repo.",
"items":{
"type":"string",
"description":"The name of a file from the localization GitHub repository."
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.