1.3.0 • Published 2 years ago

discord-spams v1.3.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

📖 Introduction

If you are reading this, then you are a developer who has encountered discord spam personally or through your discord server. That's also my story. The library is simple and provides functions to detect spam.

The sole purpose of this library is to provide a global list to prevent spam in Discord. Therefore, we are asking you to contribute to our little project and submit a pull request to add a new type of spam message.

💻 Installation

Version 16.6.0 or newer of Node.js is required

npm install discord-spams
yarn add discord-spams

📟 Example

@Discord()
export class Spam {
  lastUpdate: number | null = null;

  @On("messageCreate")
  async handler([message]: ArgsOf<"messageCreate">): Promise<void> {
    if (!message.guild || !message.member || message.author.bot) {
      return;
    }

    // update master list every five minute, will not be updated if event is not called
    if (!this.lastUpdate || Date.now() - this.lastUpdate > 5 * 60 * 1000) {
      await SpamMeta.refreshMasterList();
      this.lastUpdate = Date.now();
    }

    if (SpamMeta.isSpam(message.content)) {
      // delete message, if bot have permissions
      await message.delete().catch(() => null);

      // mute member for 6 hours
      const isMuted = await message.member
        .disableCommunicationUntil(
          Date.now() + 6 * 60 * 60 * 1000,
          "Spam message detected"
        )
        .catch(() => null);

      if (isMuted) {
        message.channel.send(
          `:cold_face: Spam message detected, I have muted ${message.author} for 6 hours.`
        );
      } else {
        message.channel.send(
          `:cold_face: Spam message detected from ${message.author}, please allow me to mute members!`
        );
      }
    }
  }
}

🙋 FAQ

1. How to deal with new spam messages and links?

In your bot, create a command that allows all users to report links. On the bot side, add that link to spam storage using SpamMeta.addLink("cars-dont-fly.com");.

Later, Please report on our repository so we can add it to the global list.

☎️ Need help?

Ask in discord server

Thank you

Show your support for discordx by giving us a star on github.

1.3.0

2 years ago

1.2.0

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago