Skip to content
Bot that responds to Flowdock private messages and public mentions
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Godeps
cf
cmd/main
core
db
docs
gomakefiles @ 9893c48
site
vendor/github.com
.gitignore
.gitmodules
LICENSE
Makefile
README.md
mention.go
personal.env.template
userconfig.go

README.md

Igor

Build Status

This is a Flowdock bot. It uses AWS DynamoDB and AWS Lambda to check if there are new mentions and it responds to them if the date is between some values stored in DynamoDB configuration.

Control panel screenshot

How to

... deploy

Unfortunately we have to work with Cognito which is not supported by CloudFormation, so we have to split the work

  1. Make sure you have:
    • Docker installed;
    • an AWS account;
    • client ID of a Google+ API approved Google Dev Console application;
    • a Flowdock account (optional, unless you really want to use it and not just experiment with it).
  2. rename personal.env.template to personal.env and introduce adequate values, as explained in it
  3. run make prepare to download extra tooling from internet to igor's dir
  4. run cmd/main/cf/non_supported_pre.sh to update the personal.env
    • open your email and approve requested certificate
  5. deploy to AWS with make form (take note: this will take awhile)
  6. run cmd/main/cf/non_supported_post.sh to do finishing steps in configuration and deploy the site

From this point on you can modify HTML and do make deploy-site to replace the cloud.

Other things you want to do are like:

  • update function only with make lambda-update
  • invoke directly via make lambda-invoke

... configure

Open the index.html which should be in the S3 and login using your Google credentials. Configure the application. Profit

How does it work

I've drawn a small UML diagram explaining how it all works in case you want to use or extend it:

UML flow

You can’t perform that action at this time.