- Installation
- Usage
- Timeout / Time Per Keyframe
- 'rich' vs 'raw' editor
- Animations
- Examples
- Discord Nitro Emoji
Install BetterDiscord
Download animated-status.plugin.js into the following directory
Mac: ~/Library/Preferences/BetterDiscord
Windows: %appdata%\BetterDiscord\plugins
Linux: ~/.config/BetterDiscord/plugins
Open Discord, go to Settings>Plugins, enable AnimatedStatus and click on Settings.
Enter the required information into the input fields and click save
The value specifies the length of each animation step in milliseconds. Example: With a timeout of 2000, the following animation would take 4 seconds to complete
"abc"
"def"
To prevent the discord server from being spammed with requests, the minimum allowed timeout is hardcoded to be 2.9 seconds.
Logically, the animation timeout should be at least 2900
, at best 10000
milliseconds (10 seconds) for the animation to look smooth on other clients.
In the mobile app, the status isn't updated consistently, i.e. the list of server members is updated based on the users actions in the app. Don't be surprised, if the animation doesn't appear smooth, or skips frames.
^ According to @pintoso
Since the lastest version, the plugin now features a new rich editor. It doesn't add functionality, but makes editing your animations a whole lot easier!
The raw editor is just a text input field, where you can edit your animations manually in a json-like format
(looking at the source code reveals that it's basically json with missing brackets)
Animations are made in a really simple and easy to understand syntax.
"Test (Message)"
"Test (Message)", "👍 (Symbol)"
"Test (Message)", "emoji (Nitro Symbol)", "000000000000000000 (Nitro Symbol ID)"
"eval new String('test') (Javascript)"
"eval new String('test') (Javascript)", "eval new String('👍') (Javascript)"
...
Switching text:
"Text 1"
"Text 2 with emoji", "👍"
- Open a discord Chat, type
\
.
Have the current time as your status:
"eval let fmt=t=>(t<10?'0':'')+t;let d=new Date();`${fmt(d.getHours())}:${fmt(d.getMinutes())}:${fmt(d.getSeconds())}`;"
Have the current time with the corresponding clock symbol as your current status
"eval let fmt=t=>(t<10?'0':'')+t;let d=new Date();`${fmt(d.getHours())}:${fmt(d.getMinutes())}:${fmt(d.getSeconds())}`;", "eval ['🕛','🕐','🕑','🕒','🕓','🕔','🕕','🕖','🕗','🕘','🕙','🕚'][((new Date()).getHours()%12)];"