Automatically sends texts of Widener University's cafeteria Lunch and Dinner menus. The HTML is parsed from https://widener.campusdish.com/Commerce/Catalog/Menus.aspx?LocationId=213 using a python library called Beautiful Soup 4. Disclaimer: The messages MenuTexter sends aren't actually SMS texts. They are emails. Sending SMS would cost money
You can remotely connect via SSH into ec2-52-207-132-210.compute-1.amazonaws.com with the username ec2-user and the private key that I'm not going to post here. This already has the MenuTexter installed using the email [email protected]
-OR, If you want your own server-
- Launch a t2.micro Amazon Linux AMI EC2 instance and run the following commands:
$ sudo yum update
$ sudo easy_install bs4
$ sudo easy_install configparser
$ sudo yum install git-all
- git clone https://github.com/michaelbrant/MenuTexter
- edit config.cfg with either your own gmail account or add the password that I will give to you. (I'm not posting that here)
Send a text to menutexter@gmail (or whatever gmail account you created) saying Start
Next, run
$ python checkMail.py
Then,
$ nano emailList.txt
and you should see your phone number in the list.
At this point running:
$ python MenuTexter.py L
will send a text of today's lunch menu to whatever phone numbers are in emailList.txt
$ python MenuTexter.py D
will send a text of the dinner menu.
If you are not receiving a text it is quite possible that there is no lunch/dinner menu for today. Uncomment the three lines in pullMenu.py to test specific days that you know have lunch or dinner menus
$ crontab -e
add the following code:
00 14 * * 1-5 python MenuTexter.py D
00 14 * * 1-5 python MenuTexter.py L
* * * * * python checkMail.py
This will run MenuTexter.py D and MenuTexter.py L every day Monday-Friday during school months at 10AM It will also run checkMail.py every minute.