/jono-plugin

BetterDiscord plugin

Primary LanguageJavaScriptMIT LicenseMIT

Jono's Plugin

A plugin for BetterDiscord. Uses no external libraries so just copy Jono's Plugin.plugin.js to your BetterDiscord/plugins folder.

Features

Custom Notifications

Shows custom notifications (toasts) when certain events are triggered. Notifications are only shown when Discord is focused-- if minimized (or in another window), notifications will queue up and be sent when focus is regained. Servers or channels can be muted by right clicking them and selecting Mute (Jono's Plugin).

Notifications are sent for the following (if enabled in plugin settings):

  • A friend's status changes (online/offline)
  • Someone mentions you
  • Someone sends a message in a server or channel you're in

Example

Popout Videos

Adds the option to pop out videos into a new window when clicking on their link. This new window is draggable, resizeable, and will persist even when switching channels/servers. Very similar to a Discord RichEmbed video player except it's in a new window.

Supported videos:

  • YouTube
  • Twitch (clips + live channels with chat support)

Commands

By default, commands have the prefix ~. This can be changed in the plugin settings. Optional arguments are prefixed by a ?. Calling commands is simple, just type the prefix followed by the command name followed by the command arguments (if any).

Example:
~command_name arg1 arg2 "arg 3 (between parentheses)" arg\"4

help

Provides information on every command or a specified command.
Usage: ~help [?command]

eval

Evaluates javascript code.
Usage: ~eval [code]

Example

repeat

Repeats text a certain amount of times.
Usage: ~repeat [amount] [text]

clear

Clears the chat by spamming a bunch of whitespace (client-side only).
Usage: ~clear

imdb

Returns the results of searching up a movie (or series) on IMDB. Must provide an API key in settings to work.
Usage: ~imdb [title]

Example

ip

Returns information about the provided ip. Must provide an API key in settings to work.
Usage: ~ip [ip]

Example

mc

Returns information about the provided minecraft user. Does not require an API key.
Usage: ~mc [username]

steam

Returns information about the provided steam user. Accepts a steam id or custom url. Does not require an API key.
Usage: ~steam [id]

Example

echo

Echoes whatever text you provide back to you. Not very useful.
Usage: ~echo [text]

seibmoz

Prefixes and appends text to any messages you send. text defaults to :ok_hand::skin-tone-5:.
Usage: ~seibmoz [?text]

draw

Lets you draw ascii art and send it in the current channel. width defaults to 60 and height defaults to 30.
Usage: ~draw [caption] [?width] [?height]

Example

pickle

Watch the Pickle Rick episode.
Usage: ~pickle

alias

Add an alias for text, which also works with commands. Author is the id of the alias creator, leaving this empty with default it to the current user. Each value in values... will be sent in sequential order. For example, if you type ~alias my_alias "" "Hello world!" "From my_alias!" then enter ~my_alias you will send the message Hello world! followed by From my_alias!.
Usage: ~alias [name] [author] [values...]

rm_alias

Removes an alias.
Usage: ~rm_alias [name]

ex_alias

Exports an alias in chat for easy copy-pasting.
Usage: ~ex_alias [name]