A Discord bot that keeps track of and notifies roommate chore responsibilities.
Best practice: make two AWS accounts and then configure each with aws configure --profile <PROFILE_NAME>
, then use AWS_PROFILE=<PROFILE_NAME>
before yarn commands, e.g. AWS_PROFILE=cb-dev yarn setup-scheduler
Also, specifically for generating the SAM template, use DEV=true yarn generate-template
for your dev environment. It will use a file called .dev.env
in the root environment if you've created one. You can place your dev AWS credentials there.
Make sure to slide the slider for your Discord bot under Bot > Privileged Gateway Intents > SERVER MEMBERS INTENT
- Create a Discord channel for the Chore Bot, and enable developer mode so you can copy IDs from Discord
- Fill out
.example_env
and rename to.env
- Run
yarn install-deps
to install project dependencies - Run
yarn setup
- Modify
setup/tables/example_chores.json
as desired so it matches your chore list, then rename it tochores.json
- Create an AWS account
- Run
yarn setup-iam
(in-progress feature, use createdBot
user for cli) - In the AWS console, navigate to iam/users/Bot, then create an access key for the user. Run
aws configure --profile default
and use the access key and secret access key. - Run
yarn setup-scheduler
- Deploy with
yarn deploy
- Upload the initial chores data with
yarn upload-chores-list
- Create a role in your Discord called
chore-boy
and assign it to each user that will be part of the chore rotation - There will now be daily, weekly, and monthly scheduled jobs that will take care of all chore assignments etc., and slash commands will be registered in your Discord guild
- DynamoDB
- Lambda Functions with proxy Function for commands
- SAM stack, uses CloudFormation to setup app based on template yaml
- Automatic new chore assignments weekly
- Automatic chore reminders daily
- Easy new chore additions (in progress)