Skip to content

A plugin loader for Discord made possible by OpenAsar.

License

Notifications You must be signed in to change notification settings

WorriedArrow/OpenLoader

Repository files navigation

OpenLoader

A fully-featured, lightweight, lightspeed client mod for Discord.


Warning OpenLoader is in alpha, and as such, you should not fully rely on it.

Note Proper documentation coming soon.

Installation

We recommend stable builds available here. These have been tested thoroughly and have been confirmed to work.
If you want to use fresh, potentially buggy builds, they are available here.

Warning Nightly builds are not recommended for normal users, but they are generally fairly safe.

To install OpenLoader, follow these steps.

If you are on Windows, simply run the executable you downloaded.

If you are on Mac or Linux, however, you go to a terminal and navigate to where you downloaded OpenLoader. Then, run:

$ chmod +x openloader-mac
(mac)

$ chmod +x openloader-linux
(linux)

Then, you can run it by typing:

$ ./openloader-mac
(mac)

$ ./openloader-linux
(linux)

Non-stable Discord release channels

If you want to install to a Discord release channel other than stable, you can run the executable you downloaded for your platform, supplying the channel as an argument.

For example,

$ ./openloader-linux canary

would install OpenLoader to Discord Canary.

(all options here)

Building

Prerequisites

  • NodeJS and NPM
  • the pkg NPM package (installed globally with npm install -g pkg)

To build the OpenLoader installer, first go to the root of where you cloned this repo and install all packages by running:

$ npm install

Then, simply run:

$ npm run build

Then, the executables should be in /dist. Run your platform's executable to test your code out!

Alternatively, for quick testing, you can run node . in the root of where you cloned this repo. This doesn't build executables, but it applies your modified OpenLoader code to Discord.

Plugins

To make a plugin, you can put it in a .plugin file which holds a simple JSON format. Example plugin is below.

{
    "author": "Arrow",
    "name": "My Plugin",
    "code": "console.log(\"Hello World!\")",
    "version": "1.0.0",
    "bannerUrl": "https://images.pexels.com/photos/5800782/pexels-photo-5800782.jpeg"
}

Note You must transpile your code into a one-liner. I will make a script to do this soon, but for now, you can use any code minifier. Make sure, though, that you escape all backslashes and quotes.

Plugin Structure

Field Type Description
author string The author of the plugin. Can have spaces/uppercase letters.
bannerUrl string A URL to the banner image. Must use either HTTPS or a data URL.
code string The code of the plugin. Must be valid JavaScript code.
name string The name of the plugin. Can have spaces/uppercase letters.
version string The version of the plugin. Can use any format, but semver is strongly recommended and is used officially.

About

A plugin loader for Discord made possible by OpenAsar.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published