• Stars
    star
    167
  • Rank 226,635 (Top 5 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created almost 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A script for using discord emotes without nitro

Discord emote menu

A bash script, for those of us who don't have nitro, that lets you use Discord emotes from any of your servers. It opens a rofi menu with all the emotes from your servers and automatically sends the selected emote to the discord window using a link. Frequency based ordering is also implemented.

Demo

Setup

The first time you run this script, it will download all the emotes in advance. To do this, an API token is required. Here's a quick guide that tells you how to obtain your token.

If you are in too many servers or would only like to fetch emotes from certain servers, run the script with the -f option with the server IDs in a single string, space delimited. Example:

./emote.sh -f "917437910914064405 673500631322853377"

Dependencies

This script depends on a few other utilities:

  • jq - Parses json response from Discord API
  • imagemagick - For resizing emotes to regular size
  • rofi - For displaying the emote menu
  • xdotool - Sending input to windows
  • xclip - Clipboard management

Usage

Usage: emote.sh [OPTION...]
A script to open a discord emote menu

Options:
-w, --window-class [class]         Window class to send the emote to. Set to "Discord" by default
-r, --rofi-config  [file]          Specify a custom config file for the rofi menu
-f, --fetch-emotes [servers]       Download emotes. Optionally specify a server ID list seperated by a space and enclosed in quotes. Example: "234113424342 092432714749"
-c, --colon                        Display colon at the beginning and end of emote name.
-h, --help                         Display this help menu

Starting

To run this script with colons and the provided sample Rofi config file in the demo:

./emote.sh -c -r sample.rofi

Updating emote collection

Adding or removing emotes can be done on Discord in server settings. You can update the local collection using the -f option described earlier, since it only downloads any new emotes that previously did not exist.

Other platforms

Technically, this script is suited to work with almost any application where images can be uploaded through pasting with Ctrl-V and Enter. The only parameter to tweak for that would be -w to set the window class, which can be fetched with xprop.

Contributions

All contributions in the form of PRs, bug reports, feature requests, etc are gladly appreciated.

Credits

Credits to yuky2020 for the Rofi theme from this repository.

More Repositories

1

gazou

Japanese and Chinese OCR for Linux & Windows
C++
85
star
2

rin

An easily accesible japanese dictionary
Kotlin
32
star
3

yt-to-anki

Simple anki addon to generate decks from youtube videos
Python
23
star
4

rfetch

A fast and minimal fetch program
Rust
18
star
5

dotfiles

My configuration files for Arch Linux
Lua
8
star
6

ace-rs

A tool for batch generating media-rich, high quality Anki vocab cards for Chinese & Japanese
Rust
8
star
7

swift-ocr

A WIP browser addon for a seamless OCR experience
JavaScript
5
star
8

librepod

A privacy-friendly, self-hosted podcast aggregator optimized for streaming
TypeScript
5
star
9

fleon

A simple X11 window manager
C
4
star
10

yomi-audio

A custom yomichan audio server with local files
Python
3
star
11

log-sense

A highly scalable real-time log anomaly detection architecture with LLMs, information retrieval, and user feedback to pinpoint faults across a distributed system.
Python
3
star
12

ace

Script that automates the creation of animecards
Python
2
star
13

yomi-freq

A handy utility to generate frequency list dictionaries for Yomichan
Python
2
star
14

emuchip

A simple CHIP-8 emulator in Rust
Rust
2
star
15

izanami

A multi-purpose bot for the Japan Zone discord server
TypeScript
2
star
16

clov-log

An ayu-themed blog documenting our machine learning journey
MDX
1
star
17

freshplay

A new and unique way to listen to spotify playlists
1
star
18

gentoo-overlay

Personal Gentoo overlay for various packages
Shell
1
star
19

ring-sync

System to reduce chances of missing calls
Kotlin
1
star
20

bare-necessities

Spend less, Win more.
JavaScript
1
star
21

adzuna-rs

A simple & async Rust API wrapper for Adzuna
Rust
1
star
22

xines

comfy retro NES emulation in rust
Rust
1
star