Why remember birthdays when Genie can grant wishes to all your Facebook friends?
Genie logs users in onto Facebook and fetches birthday information. Users can draft or select random birthday wish messages that will be automatically sent on friends' birthdays.
Genie is built on Python.
For our next steps, we would like to integrate holidays, be cross-platform, and move Genie online.
- Make sure you have
virtualenv
installed (usually installed bypip3 install virtualenv
) - Clone the repository
- Create a virtualenv in the project directory
$ virtualenv env -p `which python3`
- Activate the virtualenv from the project dir for working in terminal
$ source env/bin/activate
(Also, setup the the project interpreter in PyCharm)
- Install the project requirements by running
$ pip3 install -r requirements.txt
-
Create a file
account_details.txt
underconfig
directory. This file should have two lines: Facebook username and Facebook password. -
Create a file
download_date.txt
underconfig
directory. Leave this file empty. -
Create a file
cookies.txt
underconfig
directory. Leave this file empty.
$ cd genie
$ export PYTHONPATH='.'
$ python3 src/main.py
Our current version requires users to run the program every day to ensure the messages are delivered.
If you are using a relatively new account, please visit the mobile site of Facebook (m.facebook.com) to skip all the new-account welcome/set-up. Otherwise, the program may not be able to continue.
genie
βββ LICENSE
βββ README.md
βββ config
βΒ Β βββ test
βββ docs
βΒ Β βββ funny_birthday_wish_template.txt
βΒ Β βββ main_menu.gif
βΒ Β βββ serious_birthday_wish_template.txt
βββ fb2cal
βΒ Β βββ LICENSE
βΒ Β βββ README.md
βΒ Β βββ config
βΒ Β βΒ Β βββ config.ini
βΒ Β βββ requirements.txt
βΒ Β βββ src
βΒ Β βββ __init__.py
βΒ Β βββ _version.py
βΒ Β βββ fb2cal.py
βββ requirements.txt
βββ src
βββ config.py
βββ custom_client.py
βββ exceptions.py
βββ fb_user.py
βββ main.py
βββ menu.py
βββ settings.py
βββ test
βΒ Β βββ __init__.py
βΒ Β βββ config_test.py
βΒ Β βββ test_fbuser.py
βββ tools.py
We thank Daniel Moran for reviewing our code and our Facebook bot Boris Petrov for tirelessly testing the program.
Feel free to open an issue and/or make a pull request.
Genie is released under the MIT License.