/discordcaptcha

Verification bot based on Discord.js

Primary LanguageJavaScript


A Captcha verification bot based off of Discord.js.

Codacy Badge

Feel free to join the Discord server if you need help with setting up DiscordCaptcha.

Setup procedure

DiscordCaptcha requires NodeJS 8.0+. Install it here.
To install all required NPM-Modules, run npm install.
Get your Bot Token from this page.

Verification procedure

When joining, the user is supposed (if everything was set up correctly) to only be able to send messages in a verification channel. It is recommended to add a short message to the channel (topic, ...) so that new users know what to type next.
After typing !verify (! represents the prefix, can be changed in the config file), the bot will send the user a direct message. In that message there is an image that shows 6 letters/numbers.
The user is then supposed to send !verify <captcha> in the verification channel and will be assigned a role. That role should have send and view messages permissions for all other channels.

Config File Explanation

If you have trouble writing the config file, try dccg.

A key refers to the name of the property: "key": "value"

config#token

The token property holds your bots token. This is required for logging in. Do note that giving your token to others is like giving your passwords to others, they can login into your bot and do whatever they want.

config#prefix

The prefix property holds the prefix. This is the character (combination) the bot will respond to. Setting it to $ will make the bot respond to $verify

config#deleteMessages

The deleteMessages property holds a boolean. If it is set to true, it will delete all messages in the verification channel. It is recommended to leave it as true.

config#presence

The presence property holds the presence (playing status) that will be displayed in your client under the username.

config#servers

The servers property holds all servers it should react to. Each object is keyed by the server ID and holds an object that has a verificationChannel and a verifyRole property.

config#ignoreServers

This property can be used to ignore certain servers

config#commands

This property contains all commands and can be used to toggle/limit certain commands (to specific users)

Example config.json

{
  "token": "[TOKEN HERE]",
  "prefix": "$",
  "deleteMessages": true,
  "presence": {
    "type": "watching",
    "name": "people verify"
  },


  "servers": {
    "339838921955475456": {
      "verificationChannel": "592772759994630161",
      "verifyRole": "339841406409375754"
    }
  },

  "ignoreServers": [

  ],

  "commands": {
    "ping": {
      "executors": [],
      "requiredPermissions": [],
      "enabled": true
    },
    "verify": {
      "executors": [],
      "requiredPermissions": [],
      "enabled": true
    }
  }
}

Tips

• Contact me via discord. (y21#0909 | ID: 312715611413413889)
• Open a Pull Request