GithubHelp home page GithubHelp logo

ageverificationbot's Introduction

Description

The goal of this discord bot is to "verify" the age of any user who joins your discord server.

Ensure your server is following the Discord TOS by verifing the age of new server members, and banning those that would violate it.

When a new member joins your discord, this bot will ask them to verify their age, and will give them 1 hour to do so. If they are under 13, they will be automatically banned by the bot & informed why they were banned. If they respond over 100 they have 1 chance to answer truthfully or they are also banned for lying about their age.

When the bot is first added it will create an "unverified" and "verified" role. When the user joins, they are given the "unverified" role, and asked to verify their age, in a DM. Once their age is verified, the bot should update the user's role with the "verified" role.

All ages & ranks that the bot uses can be configured using the bot commands. use !avb help for more info.

verified example banned example

Features:

  • DM based interactions (no clutter or private info being sent to public channels)
  • Command based configs (allows server owner to configure the bot, using commands)
  • Ban & Role management

Tech Stack:

  • Nest.js, an angular-like node.js framework. If needed, this can be used to run both the bot & a bot website in the same process.
  • TypeORM and ORM that is actually meant to be used in TS projects, with support for mongoDB!
  • MongoDB via MongoDB Atlas (free)
  • Discord.ts A proper discord.js framework, but using Typescript & decorators!

Other Info

  • Heroku ready, just link heroku to a fork of this repo, setup token & DB connection info.
  • In theory, this repo could be modified to "easily" create a single repo that hosts both the bot & a bot website on a single server instance.
  • The "bot" folder is specific to this bot, and you could easily remove it, and implement your bot within the commands alone. It is only needed because of this bot's behavior (time based confirmation requires a stateful architecture in this case, in that, each user being verified needs to have it's own instance of the bot logic, so that it doesn't lose track of where the user came from, etc)

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

Testing of this bot requires you to have an alt account. Message @Adondriel on discord to get an invite link to the test server, to see how it works.

Support

I am active in the Discord.ts discord server. (how meta can we get?)

Our support discord: https://discord.gg/j6PcGGB

Stay in touch

ageverificationbot's People

Contributors

adondriel avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.