Skip to content

An NPM package to improve the way discord.js handles sending messages with role mentions

License

Notifications You must be signed in to change notification settings

HaileyBot/sanitize-role-mentions

Repository files navigation

License NPM version NPM downloads Dependencies PayPal Portfolio

⚠️ Deprecated

Due to updates to discord.js, this package is no longer necessary and should no longer be used.

Sanitize Role Mentions

Sanitize Role Mentions is a Node library to improve the way discord.js handles sending messages with role mentions.

Discord's Mention Everyone permission was updated to also include the ability to mention any role on the server, but discord.js's client option disableMentions doesn't account for this when set to "everyone". This package can be used to fix discord.js's behavior by replacing a message's mention tag with plain text that looks like @role-name. The package replaces the send() method for Guild Text Channels, so you don't need to modify any of your code to use it - simply require() the package at the top of your code.

Role mentions are only replaced with plain text if the following conditions are met:

  • client.options.disableMentions is set to "everyone"
  • The client has the permission flag 131072, otherwise known as Mention @everyone, @here, and All Roles, in the target guild (this condition will also pass if the client has the permission flag 8, otherwise known as Administrator)
  • The role being mentioned is not marked as mentionable

These conditions prevent the bot from replacing role mentions that you actually want it to mention.

Installation

Use the package manager npm to install Sanitize Role Mentions

npm i @haileybot/sanitize-role-mentions

Usage

// Require the package and use "()" to run the function it contains
require("@haileybot/sanitize-role-mentions")();

// Set the client option "disableMentions" to "everyone"
const { Client } = require("discord.js");
const client = new Client({
	disableMentions: "everyone"
});

// Put the rest of your bot code as-is, no changes necessary

License

This project is licensed under AGPL-3.0

About

An NPM package to improve the way discord.js handles sending messages with role mentions

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages