/discord-manager

Primary LanguageJavaScriptMIT LicenseMIT

Discord Bot/Manager

  • The "seedling" role can view all public channels
  • Move all users into the "seedling" role
  • New users to the discord are placed into a "germinating" role
    • All channels are hidden except for "welcome" and "introductions"
    • Only have the ability to post in "introductions"
  • To be moved into the "seedling" role
    • MUST emoji react the code of conduct post in "welcome"
    • MUST post an introduction in the "introductions" channel
      • Introduction must be at least 40 characters long.
  • Watch code of conduct for emoji reactions and decide if we should move them to seedling role

TODO

  • Setup eslint
  • Refactor CONST variables to .env
    • Create a config object, load from .env
  • Refactor methods to use a local db like nedb
    • Listen for new users
      • Add to db with:
        • CodeOfConduct - false
        • Introduction - false
    • Listen for emoji reactions to COC message
      • Update db
    • Listen for messages in introductions
      • Update db when a message recieved for new user with length > 40
  • ON startup
    • Add all germinating users to the db
      • Include COC
      • Include Intro Message
    • get all users without a role and add them to germinating
  • Send a message when a user joins the server.
    • Log in DB if welcome message has been sent
  • Send a message when a user is moved into the seedling group.
  • Move all users that have not yet posted a message into the "germinating" role
  • Deploy!
  • Stream notify channel
    • Join this channel to be notified when CJ goes live
  • Listen for leave server
    • Remove COC reactions
  • Listen for role change
    • Remove from DB

Resources

Join a Bot to a server

discord.js docs/examples