Skip to content

devcnairobi/devc-nairobi-bot

Repository files navigation

devc-nairobi-bot

Code Climate Issue Count

Messenger Bot for DevC Nairobi

About

This is a Messenger Bot that helps with some ops, running the developer community. Some of the features are:

  • Signing up members
  • Adding members to the Github org
  • Subscribing members on the mailinglist
  • RSVPing for events
  • Event listing (past and upcoming) - TBD
  • Post-event surveys - TBD

Architecture

screen shot 2019-02-02 at 2 53 50 pm

Developing

Pre-requisites

Getting started

  • Set environment variables as follows:
    • Copy .env.sample to .env (all env settings will live on this file)
    • Register a Firebase test app and use the provided settings to update the FB_ settings in the just created .env file. Ensure database rules are set to public write i.e.:
      {
        "rules": {
          ".read": false,
          ".write": true
        }
      }
      
    • On your Github settings page, create a new personal access token with at least scope(admin:org - write) and update GH_OAUTH_TOKEN with the generated token.
    • You may need to create a test Github org in order to update GH_ORG.
    • Run ngrok http 5000 and note the generated https url.
    • Set up your bot's Facebook webhook using the ngrok url.
    • Use the provided Facebook developer app credentials to update PAGE_TOKEN, VERIFY_TOKEN and APP_SECRET.
  • Install required node packages with npm install.
  • Run the bot with npm start.

Linting

Tests

  • TODO