I live in Ohio, which means the weather is incredibly unpredictable. Because of this, checking the weather on a daily basis is a must. Morning Bot makes this easy. Every morning I receive a text from Morning Bot that provides Cliff notes on what the weather is like. Additionally, Morning Bot is synced with Shortcuts meaning you will always get weather updates based on your most current location.
Here are just a few of the things that Morning Bot does well:
- Hands-off weather updates every morning
- Easily
configurable
to receive weather updates at your desired time every morning. - Tethered to your phone. Feel free to travel and get weather updates for your most current location. Accomplished using Shortcuts. You may also set a
default
location if you wish to not share your location. - Weather data collected from Open Weather, a reliable RESTful API
- Subscribe or unsubscribe for Morning Bot with a click of a button
- Most importantly, a badass app
Apple Users:
- Go to the app store and download Shortcuts
- Next, on the botton of the screen hit
Automation
->Create Personal Automation
->Time Of Day
- Select what time of the day you would like to recieve your message (preferably in the morning) and hit next.
- Now, select
Add Action
->Location
->Get Current Location
. - Finally, click
Send Message
->Recipients
and add the following number:+16615830427
. Make sure to hitDon't ask before running
and hitDone
That's it, you're all done! if you ever want to unsubscribe from the service, just delete this automation task.
I have also uploaded a short clip of the installation HERE in case you need additional help.
The source code is currently hosted on GitHub at: https://github.com/bnkc/morningbot
- Python
3
and above - Linux/MacOS (Not tested on windows)
Folder Structure:
morningbot
├── Procfile
├── README.md
├── app
│ ├── api
│ │ ├── __init__.py
│ │ └── api.py
│ ├── config.py
│ ├── conftest.py
│ ├── crud
│ │ ├── __init__.py
│ │ ├── crud_user.py
│ │ └── crud_weather.py
│ ├── db
│ │ ├── __init__.py
│ │ ├── database.db
│ │ └── session.py
│ ├── messages
│ │ ├── __init__.py
│ │ └── message.py
│ ├── schemas
│ │ ├── __init__.py
│ │ └── weather.py
│ └── tests
│ ├── crud
│ │ ├── __init__.py
│ │ ├── test_user.py
│ │ └── test_weather.py
│ └── data
│ ├── __init__.py
│ └── sample_data.py
├── images
│ └── logo.png
├── requirements.txt
└── runtime.txt
To get started, mkdir and cd into where Morning Bot will be stored. Run:
$ git clone https://github.com/bnkc/morningbot.git
From ./morningbot/
, install the dependecies with:
$ pip install -r requirements.txt
Create a virtual environment from the requirements.txt
(or installed globally).
You will need to create a .env
in the the path ./morningbot/app/
for the os environment variables. It should look something like this:
WX_API_KEY=<openweather key>
You will need to sign up with Open Weather, as well as setup your Twilio. Both of these resources have great documentation.