Skip to content

πŸ§žβ€β™€οΈGenie automatically sends pre-drafted birthday wishes to your Facebook friends.

License

Notifications You must be signed in to change notification settings

chuyunshen/genie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

87 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Genie Logo

Genie

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.

Table of contents

Quick start

  • Make sure you have virtualenv installed (usually installed by pip3 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 under config directory. This file should have two lines: Facebook username and Facebook password.

  • Create a file download_date.txt under config directory. Leave this file empty.

  • Create a file cookies.txt under config directory. Leave this file empty.

How to Run

$ cd genie
$ export PYTHONPATH='.'
$ python3 src/main.py

Demonstration

Main menu options


Draft a birthday message

Note

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.

What's included

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

Thanks

We thank Daniel Moran for reviewing our code and our Facebook bot Boris Petrov for tirelessly testing the program.

Questions and Contributions

Feel free to open an issue and/or make a pull request.

Copyright and License

Genie is released under the MIT License.

About

πŸ§žβ€β™€οΈGenie automatically sends pre-drafted birthday wishes to your Facebook friends.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages