Skip to content
This repository has been archived by the owner on Dec 16, 2022. It is now read-only.
Sammy edited this page Dec 17, 2021 · 12 revisions

Welcome to the Powercord-Docs wiki!

Guidelines

Please make sure to keep these Guidelines in Mind before you start making a Plugin.

1. Do not promote or facilitate abusive behavior

This includes but is not limited to:

Any behavior that breaks Discord's ToS (excluding client modding);
Any behavior that would abuse the Discord API;
Distributing malicious and/or harmful plugins (malware);
Distributing plugins which serve to confuse and/or annoy users.
For example: spoiler-spam, exploit of obscure client behavior.

2. Take precaution handling End User Data

End User Data of other users must be handled with caution with regards to privacy. For example, logging all deleted messages is prohibited.

3. Do not attempt to circumvent Discord permissions

Any data processed from Discord API endpoints must be processed the same way as it is by the Discord client UI.
For example, displaying channels that the Discord client would otherwise hide is prohibited.
This also applies to restrictions put in place by Discord on legal or any other serious matters, such as the NSFW age gate.

4. Plugins are prohibited from implementing selfbot-like behavior

This is to ensure our users do not get banned from indirect ToS violations, and to avoid abuse.

5. No advertising, promotion, or spam of any kind

Your plugin is prohibited from advertising anything on the Discord client.
Powercord provides links to your GitHub account, product repository, and a link to your product's Discord support server if provided.
Degrading the user experience through unnecessary messages or pop-ups shown in-app also falls under this rule.

6. Respect user privacy

If your plugin has a backend, this backend is prohibited from storing any user data without explicit permission from the plugin user.
All features that require the collection of user data should be opt-in, and properly reflect data collection via the use_eud permission.

7. Take precaution making use of external APIs

The use of external APIs may put the user's privacy at risk.
Remote services may keep track of user IPs and more.
If your plugin makes use of a remote service, please specify this with the ext_api permission.

Fetching arbitrary URLs (e.g. pinging of links posted in chat) must go through a proxy server.

8. Take precaution creating NSFW plugins

We're not against plugins providing NSFW features, but they should be properly labeled and handled.
If your plugin's main purpose is providing NSFW content, you must specify this through the nsfw manifest key.
If your plugin's main purpose isn't necessarily providing NSFW content, but your plugin can provide NSFW content, the NSFW features must be disabled by default.

9. Meet a certain standard performance-wise

Products that demand a lot of resources degrade the user experience. Slower computers may not be able to run smoothly if your product is using excessive amounts of CPU and/or memory.

 If you do need to perform resource-heavy tasks, consider using a web worker.

10. Avoid breaking other plugins

In the event your plugin breaks with another plugin, we expect you and the other developer to get in touch and figure out a solution to the problem. It's all about friendly cooperation.

11. Prefer contributing instead of duplicating

If you want to make a plugin that already exists, prefer contributing to the already existing plugin instead of having another plugin with the same purpose.

Disclaimer

I AM IN NO WAY A PROFESSIONAL NOR A DEVELOPER OF POWERCORD, INFORMATION MAY BE FALSE, INCOMPLETE OR ONLY SCRATCHING THE SURFACE!

For more Help, ask in the Powercord Server, The Developers may help you with making your Plugins there.

Clone this wiki locally