Blasts a set of users an SMS right before a required event.
- Python
- PIP
- SQLite3
- Add support for multiple granularities of events (i.e. required, optional, suggested) and modify SMS sending to reflect different categories.
- Partially revert change allowing numbers to be stored in SQLite or Google Spreadsheet.
git clone git@github.com:wschurman/sms-cal-blast.git && cd sms-cal-blast && pip install -r requirements.txt
- Create a Google API Project and authenticate a Service Account https://code.google.com/apis/console
- Download the key file, and move it to the sms-cal-blast directory
mv config_private_template.json config_private.json
- Fill in config_private.json with your own values.
- DEBUG : 1 or 0
- DEBUG_SMTP : 1 or 0, debug SMTP messages
- API_HOST : IP address, 0.0.0.0 is localhost
- API_PORT : port to run webserver on, must be free port
- SMTP_SENDER : The from email address in the messages
- SMTP_SERVER : The smtp server you would like to use
- SMTP_PORT : The smtp port you would like to use
- FILE_ID : The ID of the spreadsheet file containing the numbers. Oddly specific.
- CALENDAR_ID : The Google Calendar ID, gotten from Calendar Settings page in Google Calendar
- SERVICE_ACCOUNT_NAME : Email Address from service account in API console.
- SERVICE_ACCOUNT_KEYFILE : The name of the service account keyfile.
To run the Calendar and SMS blaster thread:
./app.py
To run the HTTP API for number insertion:
./app.py --api-mode
Run the following command from the root directory of the app (sms-cal-blast)
python -m unittest discover smscalblast '*_test.py'