EmojiPal is a completely free and open source application to send all your favorite emojis in Discord without using Nitro made with AutoHotKey. Please note that as AHK only supports Windows, this is a Windows-only application. Some pre-loaded emojis may not be appropriate for children. User discretion advised.
EmojiPal.Intro.mp4
Features
- 100% free and open source, forever.
- Seamless integration with Discord.
- Over 150 emojis, stickers and GIFs preloaded...
- ...and easily add more of your own!
- Autosuggest emojis and complete emoji prompts.
- Ultra lightweight-- the program itself is less than 1.5 MB. While running, it takes 1.5 - 4 MB of RAM.
- No injection into the Discord client-- EmojiPal does not access your Discord token.
How to use
- Grab the latest release here.
- Extract the app to where you plan to keep it.
- Run EmojiPal.exe.
- [Optional - Recommended] To have EmojiPal boot on Windows startup, right click EmojiPal.exe and create a shortcut. Paste the shortcut into the Windows startup folder (accessed by pressing Win + R and typing
shell:startup
).
- Switch back to Discord, and press ";" (default hotkey) to begin.
- [Optional] Check out the
previews
folder for a list of each emoji and their associated prompt. The file name is the exact emoji prompt. I would display them here, but there's far too many.
Controls
Note that the controls are only active when Discord is the window you have in focus. This is to prevent it from interfering with hotkeys in your other programs.
- ; - Semicolon is the default hotkey for activating the app. Pressing it after typing out a prompt will send the prompt if it is valid, or hide the app if the prompt is invalid.
- Up and down arrow keys - When typing out a prompt, use the up and down arrow keys to select an autosuggested emoji.
- Enter - Sends a completed emoji. Will also send emojis when there is an autosuggested emoji. Unlike semicolon, will not hide the app if a prompt is invalid.
- Esc - Hides the app.
- Ctrl + Alt + D - Exits the app entirely. This is the default hotkey.
- Ctrl + A - Selects the entire emoji prompt. Pressing backspace deletes the entire prompt. Pressing a letter replaces the prompt with said letter.
- Ctrl+ Activation Hotkey - Sends the hotkey being used to activate the app, rather than activating the app. For example, sending Ctrl + ; will send
;
instead of activating the app. This also means you cannot use Ctrl as part of the keyboard combination to activate the app.
Changing controls
In the external
folder, locate and open settings.ini
. There, you can change the keys to activate the app and to exit out of the app. AutoHotKey hotkey prefixes can be located here, if you want to use keyboard combinations. However, using : as the activation hotkey is not recommended, as it'll lock you out of sending Discord emojis through hotkeys.
Adding and removing emojis
Adding and removing emojis is simple.
- In the same
external
folder, locate and open emojis.json
with your text editor of choice.
- Add new emojis by adding the following syntax (keep the quotes)
,"emoji_name_here":"direct link to image"
to the end of the JSON file (but before the last curly quote).
- An example is
,"soymald":"https://cdn.frankerfacez.com/emoticon/652501/2"
- Be sure to use direct links to images, otherwise there will be an embed fail.
- You may also upload emojis to your image hosting site of choice and use the direct link from that site.
- To remove an emoji, find the emoji name using Ctrl + F and replace the full entry, e.g., delete this
,"emoji_to_be_deleted":"link"
- Save the JSON file, then restart the app.
- When adding new emojis, at startup, the app should automatically download a preview into the
previews
folder.
While we're at it, here are a few websites I pulled emojis from.
- FrankerFaceZ
- Discadia
- Emotes.io
Under the hood
EmojiPal sends emojis by taking advantage of Discord embeds-- when you enter an emoji prompt, it'll send a direct link to the emoji image. This is essentially how all of the "free Nitro" emoji-sending scripts work. A limitation is that you cannot have text and a picture emoji on the same line, unlike normal Discord emojis. Some channels may also block linking, which prevents EmojiPal and other "free Nitro"-style scripts from sending Emojis. But generally, this isn't too common.
The upside is that changes to the Discord API or to the client won't break EmojiPal-- an issue with scripts replying on injection.
Credits
- nbirnel, who did the grunt work of typing out all the letters of the alphabet and then some to track keyboard input.
- Chunjee, who saved me a lot of trouble with his fork of the JSON.AHK script.
- The developers of AHK, without which this script would not exist.