Skip to content

ari-party/nomi

Repository files navigation

Nomi

License TypeScript Discord Airbnb ESLint Docker

no - no
 m - more
   i - invisible (characters)

A zero-config Discord bot to prevent users from bypassing automod (bots).

Nomi uses invisible-character-detector in the back-end.

Why?

Users can easily bypass Discord's built-in automod system with a single character, such as a soft hyphen, and there are 21 more characters that can be abused.

Simple bypass using a soft hyphen

Nomi offers a straight forward approach to solving this. It checks if the bot's role is above the highest role of the member who sent a message. If it's above, then it will check the message for these bypassable characters and deletes it if found.

Nomi in action

If you wish for Nomi not to reply with these messages (as shown in the image above), simply don't include the send messages permission.

Invite

Invite the hosted bot here.

Installation

Create an application on the developer portal, generate a new bot token and copy it.

Docker

Ensure you have Docker installed for this installation method.

# Pull the Docker image
docker pull ghcr.io/ari-party/nomi:latest

docker run -d --name nomi -e TOKEN="REPLACE_ME_WITH_BOT_TOKEN" ghcr.io/ari-party/nomi:latest
# `-d detached`, it will run in the background
# `--name nomi`, assign a name to prevent a random name
# `-e TOKEN="..."`, add the TOKEN enviroment variable, keep the quotes when replacing

Manual

  1. Clone the repository git clone https://github.com/ari-party/nomi.git or download a ZIP.

  2. Make sure the latest LTS version of Node.js is installed alongside the latest version of npm.

  3. Install the dependencies with npm install or pnpm install if you are using pnpm (😎).

  4. Copy or rename the .env.example file to .env and open it with your preferred editor.

  5. Paste your bot token after TOKEN=. (It would look something like TOKEN=MTI...)

  6. Start the bot with npm run start or pnpm start.

Bot permissions

Required

  • Read Messages/View Channels
  • Manage Messages

Optional

  • Send Messages