Overview

NQN is a highly configurable bot which provides advanced emoji management for both server owners and users, but with a simple onboarding process to get started. It offers a wide range of emoji related features based around allowing anyone in your server to use any emoji without Nitro.

This guide is split in two parts, one designed to help server owners setup and manage the bot, the other for users. The initial section pages list the important/useful features related to server moderation or a user, so you don't have to read through everything.

To view additional pages in this guide, select from the sidebar to the left.

For server administrators

NQN provides sensible defaults for its configuration out of the box.

However, the following are things you as an admin might want to consider deciding are what's right for you:

  • Ensure NQN has the right permissions
  • NQN has the ability to expand message links to show their content.
    • View the settings page for more information
  • Decide if you want NQN to leave 'ghost pings' behind, or if your members would prefer to see the messages they're pinged in.
    • View the settings page for more information

Inviting NQN

The easiest way to invite the bot is through the NQN website. Simply visit https://nqn.blue/invite and choose your server.

If you don't have all the permissions NQN requires, don't worry. When it joins, it'll send a DM to the server owner with a new invite link, but only if it detects it's missing permissions.

Once you've added NQN to your server, you can use it with no additional setup. If you want to customise your server's experience, see Basic configuration.

On the post-invite screen, click 'View your server' to view any permissions issues that might be present in your server. This can be accessed at any time through the bot dashboard by clicking on the 'Dashboard' button in the navbar, selecting your server, clicking on the settings cog in the sidebar, and then choosing the 'Permissions' tab.

Basic configuration

TODO - Nitro role etc

When initially invited to a server, all features except for personas are enabled. No features which require channel or role selection are enabled.

The Audit Channel

When people repost messages with NQN, moderators might wish to be notified of exactly who sent the message, as well as jump links to the reposted messages.

NQN can audit, but is not limited to the following features:

  • Message reposts
  • Message reposts with persona usage
  • Usage of the !edit or Edit Message commands
  • A user posting a messages with an emoji which has been blocked with /emote block
  • Reactions added to messages with the /react command
  • Users joining the server when the opt-in 'public packs' feature is enabled.
  • A moderator blocking, or unblocking usage of an emoji
  • A moderator locking, or unlocking an emoji to a role
  • A moderator banning or kicking a user with !mod kick or !mod ban
  • A moderator editing the channel topic with /mod edit_topic
  • A moderator moving messages between channels with /mod move
  • A moderator deleting messages with !mod purge

Toggleable Features

The following features may be enabled, or disabled with the /server settings command. Use it to bring up a list of the current configuration, and toggle features with the in-message dropdown.

Features that can be enabled are as follows:

Stickers

NQN allows users to post large images through text without needing to upload. If enabled, users need 'Upload Files' permissions to use stickers.

See the user guide for how to use stickers.

Nitro

The main feature, which allows anyone to use emojis without Nitro. If a user is missing 'Use External Emojis' permissions, they are limited to emojis inside your server only, and cannot use server aliases or packs.

Message Previews

NQN allows you to visualise messages sent in other channels, similarly to Discord's own reply feature. The main advantage this has is it allows moderators to discuss specific posts in a moderator only context. You could also use it to create a highlights channel, or extend the pins list in another channel.

A user can only post message previews from channels they can read, and messages sent in NSFW channels will not be previewed in replies in channels which are not NSFW. A message link will be given, however.

See the user guide on replies.

Masked URLs

This allows any user to use markdown URLs, which have a customisable text for a given URL. NQN automatically disallows using URLs in the text field to prevent abuse.

If you send [text to show](https://google.com), it will appear on Discord as 'text to show'

See the user guide on masked URLs.

Pings

By default, NQN forwards pings in messages it reposts, leaving a user with two pings. Disabling this removes one of those pings, but doesn't leave the user with an indication of where they were notified.

NQN only forwards pings that actually notified users; if @everyone is sent by someone without permission to ping everyone, NQN won't either. On the flip side, if the message did ping everyone, so will NQN's message.

User Content

NQN allows users to send emojis from anywhere, not just from your server. If you need to allow users permissions to use 'External Emojis' but want a curated experience for users without Nitro, disabling this option forces users to use emojis from your server, your server packs, or server aliases.

This is a premium feature. Get access with NQN's Patreon.

Personas

Personas are the only feature NQN provides which is disabled by default. This is because it allows anyone to send messages using a custom username and avatar.

For more information on how to moderate messages sent using the personas feature, see the dedicated page for Personas.

Dashboard Posting

This feature controls if users can post messages through NQN's dashboard and slash commands.

NQN respects slowmode set in a channel, and disallows reposting using slash commands and the dashboard if one is set.

Phish Detection

NQN automatically detects and blocks phishing messages sent in your server. If you have another bot which does this that you'd prefer to use instead of NQN, disable this feature.

Permissions

NQN uses Discord permissions to determine what it, and it's users are allowed to do.

The main permissions the bot needs for core functionality are the following:

  • Read Messages
  • Send Messages
  • Manage Messages
  • Embed Links
  • Read Message History
  • External Emojis
  • Manage Webhooks

Commands

Each command NQN has requires a set of permissions to run. When you try and run a command, and there's an issue with permissions, NQN will tell you what the problem is and how to fix it. If the bot is missing permissions, it will tell you if it's missing a global permission, or there's a channel override denying that permission. If you're missing permissions, it will tell you which permissions, but not how to gain access, as most of the time this denial will be intentional.

Slash commands and message commands (using a prefix other than /) often have different permissions requirements for the bot, but never for the user. In almost all cases where there's a difference, message commands will require more permissions.

  • To disable message commands, deny NQN 'Send Messages' permissions. This will not affect message reposting.
  • To disable Slash commands, go to the server settings, Integrations, find NQN, and then disable all commands from everyone.
  • To disable everything NQN related, deny slash command usage as above, optionally just in certain channels, and then deny NQN 'Read Message' permissions.

Message Reposting

The core message reposting functionality is not based on commands, but instead on parsing emojis (or other things) out of your messages and interpreting them. To not annoy users, message reposting does not emit error messages on a failure, unless it's based on NQN lacking the 'External Emojis' permission.

Instead, follow this guide on how to debug message reposting:

  • In order to repost messages, NQN requires 'Manage Webhooks' and 'Read Message' permissions in all channels you need to repost in.
  • To use emojis from other servers, both NQN and the user need 'External Emojis' permissions in the channel they're using the bot in.
  • To use replies, the user needs to have permissions to 'Embed Links'
  • To use stickers, the user needs to have permissions to 'Attach Files'
  • To disable use of external emojis for a user, disallow them 'External Emojis' permissions
    • To curate the emojis people can use with NQN, see the User Content premium feature.
    • To only allow users with a specific role to use emojis with NQN, see the Nitro Role premium feature.
  • To disable certain emojis from being reposted, see Blocking Emojis.
  • To disable message reposting, deny NQN 'Manage Webhooks' permissions. This will not affect commands.

Debugging Permissions Issues

Sometimes you might get confused as to why NQN isn't responding when it should. When you first invite the bot, you might find it's not in any channel - this often happens because you've got some kind of member verification set up, and NQN needs to be let through it manually by a moderator. If it's not that simple, we've added two different mechanisms you can use to help work out the problem.

NQN's Dashboard Permissions Visualiser

Using NQN's dashboard, you can choose the server you want to debug, click the settings gear in the sidebar, and then go to the 'Permissions' tab. There it will show a comprehensive table of channels in your server with any permissions issues clearly visualised.

The /server permissions_debug command

Alternatively if you want to remain on Discord, the slash command /server permissions_debug outputs a list of problems the bot's found in your server.

When ran, the command outputs a list of channels in the server with permissions problems, followed by a list of required permissions which are missing. These permissions are related to commands, or requirements for reposting messages.

Further down, it outputs a list of channels without permissions for:

  • Manage Webhooks - Prevents reposting messages.
  • Send Messages - Prevents commands.
  • Read Messages - Prevents non-slash command interactions with the bot.

Adding Emojis

NQN provides several methods of uploading emojis depending on how you're searching for them.

  • If you're looking for emojis based on their name, /emote upload from_search is what you need.
  • If you're wanting to re-upload an emoji from a shared server you have with NQN, try /emote upload from_emote.
  • Likewise, if it's from an alias, use /emote upload from_emote.
  • When you want to upload emotes with a theme, try using /pack search and once you've found a pack, use /pack save to upload it's emotes to your server.
  • If you want to upload an emote that's been used in a message in your server, 'reply' to it with the command !upload_emote.
  • If you have a file on your phone and want to upload it quickly, use /emote upload from_attachment.
  • If you want to re-upload a sticker as an emote, send it with the !emote upload command.

With a search

You can search for an emote in NQN's database using the /emote upload from_search command.

The search functionality supports the following filters:

  • search: Filter emotes to ones which match your terms.
  • exact: Shows only the emojis with names that exactly match your search terms.
  • animated: If set to True only show animated emojis. If False only static ones. If empty then show all emojis.
  • order: Order by relevance to your search or by random.
  • page: Specifies the start page of your search.

From a message in your server

If someone posts an emoji in your server that's really cool, you can gain access to it with the !emote upload command. Simply reply to the message with the emote, and run !emote upload. The bot automatically reads out emojis used in that message, and prompts if you want to upload them.

This works great if you want to allow all your users to be able to use an emoji quickly.

From an alias or mutual server

The /emote upload from_emote command supports any emoji you can get from NQN. It supports the following sources of emojis:

  • Aliases
  • Your packs
  • Your mutual servers with the bot
  • Recently used emojis in your server
  • Any server aliases or packs you're subscribed to

You don't have to remember the exact name of the emote with this command, as it's got autocompletion enabled.

Saving emotes from packs

If you find a pack you want to save emotes from, use the /pack save command, targeting the pack with the emojis you want in your server. NQN will respond with a selector for all the emotes in that pack, as well as the option to save all the emotes in that pack.

Note that NQN will only save emotes up to the emote limit in your server, and there's a global limit for the amount of emotes that can be uploaded in a server per hour across all users. If NQN is only able to save a portion of the emotes in the pack, you can run the command again later to re-upload the remaining emotes.

Saving emotes from packs

If you find a pack you want to save emotes from, use the /pack save command, targeting the pack with the emojis you want in your server. NQN will respond with a selector for all the emotes in that pack, as well as the option to save all the emotes in that pack.

Note that NQN will only save emotes up to the emote limit in your server, and there's a global limit for the amount of emotes that can be uploaded in a server per hour across all users. If NQN is only able to save a portion of the emotes in the pack, you can run the command again later to re-upload the remaining emotes.

Using animated emojis with the emoji picker

Auditing messages

Sometimes people post undesirable content with NQN. To help combat this, NQN provides functionality to see who posted a given message. This can be achieved by right-clicking on the message, going to 'Apps', and then 'Find Author'.

To quickly kick or ban the user who posted a message with NQN, you can use Discord's reply feature with the message !mod kick or !mod ban. If you need to remove all the messages posted with NQN, the !mod purge command allows this, optionally allowing you to filter by the target user.

To see the messages a user has posted with NQN, right-click on their profile (or on mobile hold their avatar), go to 'Apps' and then 'Audit NQN Messages'. A text-based command alternative is available by using Discord's reply feature to select the message, and then running !whois.

Blocking Emojis

TODO

  • Emote block
    • How Automod integrates with emote block
    • The different ways to block emojis
      • Slash command - recently used
      • Context menu on a message
  • How to unblock emojis
  • How to view your list of blocked emojis
  • NQN blocks duplicates on a best effort basis (re-uploads in servers NQN's in)

Curating emojis

TODO

  • User content premium feature
  • What it disables
  • Links to server packs/aliases
  • Patreon

Emoji Statistics

NQN provides usage statistics for all your emojis in your server.

To check how often your emotes are used, run the /emote stats command. It returns the most used emojis in your server, as well as how often they're used.

You can also scroll and see the least used emojis to help decide which ones you might want to remove if you're at the emoji limit.

Information about a specific emoji

NQN can also bring up information about emojis in your server. Use the /emote info command and select an emoji. It'll bring up information such as:

  • The emoji ID
  • How many uses it's had in the server, or uses per day if large enough
  • The total number uses per day, if the emoji (including reuploads) is used often enough in a lot of servers
  • Other names the emoji has been uploaded with (once it's had that name enough times)
  • Any roles you've locked usage to
  • The time of upload
  • The URL
  • The URL to the static image (only if animated)

Personas

NQN can allow users to repost messages with custom usernames and avatars. Given the potential for abuse, this feature is disabled by default.

A server moderator might wish to use this tool to post as their 'server' by creating a persona for it, and setting the username and avatar to that of the server's.

Moderating Personas:

Since this usage can be used to impersonate others, we recommend having a look at the following links before enabling this feature:

Using the tools NQN provides, you will be easily able to see who posts messages, and perform moderation actions.

The Nitro role

TODO

  • What it does
  • Why you might want it
  • How you might integrate it with a leveling bot as a reward
  • How to configure it
  • Patreon

Data Usage

At the size NQN is, it becomes important to share what data I store, and why. Whilst my Privacy Policy has a good explanation of what data is stored, it doesn't go into the why, or how it's relevant to server owners.

Your Discord data

Information about your server

NQN stores the following information about your server. It's removed when you kick the bot or delete your server.

  • Server name
  • All roles
  • All channels, and channel overrides (even ones NQN doesn't have read message access to)
  • All emojis
  • The user ids of people in your server
  • The bot's member information, such as it's nickname and roles
  • Any pack information, such as your pack's name and list of pack members
  • If your server's entitled to premium features
  • Server settings you set on the bot

NQN stores information about your server in order to ensure when you run commands, that the bot knows it's own permissions as well as the invoker's own permissions. This information is always kept up to date, or deleted when you either delete your server or kick the bot.

The following information is stored for a period of up to 48 hours:

  • Any emoji used in your server, including name, URL, and time of use

This information is used to power the 'recently used emojis' feature.

Information about reposted messages

For a 60 day period after a message has been reposted by NQN, the following information is stored:

  • Who sent it
  • Which channel it was sent to, and in which server
  • A unique identifier for the message itself

NQN does not store the message content.

This data is used to allow users to edit and delete their reposted messages, and to provide auditing functionality to administrators.

Information about command usage

Whenever you run a command, NQN keeps a record of it. This data is used to determine the most popular commands, and to detect if a command has broken in some way.

Information about emojis

When you invite NQN to your server, it automatically adds all the uploaded emojis to the database and makes them permanently available in the search functionality.

This is to allow NQN to have a wide variety of emojis available, as well as to use for the reposting feature.

If you've made a mistake, and want an emote removed from the bot, join NQN's support server and check the #legal channel.

Information about users

We store a user's personal configuration with the bot including their aliases, mutual servers, commands run, and voting information.

This data is used to power the bot, and make sure it works correctly.

If you've never interacted with the bot, the only thing it stores about you is a list of the servers it shares with you.

Other information

NQN stores aggregate metrics of how it's used to determine how (and if) functionality is used, and if people find it useful. This data is anonymous, and is removed after 30 days.

Third Parties

On the website, NQN uses Google Analytics to see how many people use the bot's website and determine how good it is at convincing people to add the bot. We also used to run adverts, but this has been discontinued for now. None of this data is related to your Discord account, or your usage of the bot.

On the Discord side of things, NQN doesn't share any Discord data with third parties. It's all stored on our host.

Requesting your data

To request a full copy of the data NQN stores about you, and the servers you own, run !gdpr in the bot's DMs. It'll send you a JSON file with all your data.

Your Emojis

There are 4 different sources from which you can use emojis through the bot:

In this section we'll explain the first two sources while you can learn more about the other two in their respective sections.

Common Server Emojis

The first source of emojis are the Common Server Emojis. These are the emojis that have been directly uploaded onto discord servers where both you and the bot are. This emulates the behaviour of nitro closely as we can see in the following example:

An emoji named :nqn: has been uploaded to server A. Both you and the bot are in this server. This allows you to use the emojis of server A on all the servers you share with the bot.

You can see all the emotes you can use through the command /my_emotes

Server Cached Emojis

The second source of emojis are Server Cached Emojis. The bot caches emojis in different situations in order to allow users access to them.

The cached emojis are as follows:

  • Recently used emojis in the server
  • Recently shown packs in the server

They can only be used in the same server for 24 hours after the previous use.

Aliases

Aliases are individual emojis that you can name and then be used through that name. An alias belongs to a single user. Only that user can use the alias by that name. If you want a copy of someone else's alias, right-click a message where they've used it and choose 'gain access to emojis'. For more information regarding how to name server wide aliases refer to adding emojis through packs and aliases.

You can find the full list of aliases you have through the use of the command /alias mine or /alias dm (full list but sent to dm)

You can search for emojis using the following command /alias search termsOfYourSearch search: terms. The search functionality also supports the following filters:

  • exact: Shows only the emojis with names that exactly match your search terms.
  • animated: If set to True only show animated emojis. If False only static ones. If empty then show all emojis.
  • order: Order by relevance to your search or by random.
  • page: Specifies the start page of your search.

Importing and Exporting Aliases

It is posible to export aliases through the use of /alias export. This command will produce a text file that can then be imported through the use of /alias import

Renaming Aliases

It is posible to rename aliases through the use of /alias rename

Deleting Aliases

You can delete your aliases through the use of /alias delete or in case you want to delete all of them /alias delete_all

Packs

Packs are collections of emojis that have been uploaded to a server and then made available through the /pack publish command. All the emojis that have been uploaded to a server are included in the pack. Joining a pack allows you to use all the emojis that pack contains.

To gain access to all the emojis in a pack use /pack join. You can find new packs with /pack search. For example, if you want to find packs with a certain theme, such as Pepe emotes, then using /pack search pepe will show a list of all the packs containing emotes with pepe in the emote name. If you want to leave a pack, you can do it with the /pack leave command or through the leave pack button on the /pack mine command.

A full list of all the packs you have joined can be seen through the /pack mine or /pack dm commands.