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.
- Quick Start
- Demonstration
- What's included
- Documentation
- Tests
- Questions and contributions
- Thanks
- Copyright and license
- 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.