/Lista

Whatsapp chatbot that helps you manage shared shopping lists with your friends.

Primary LanguagePython


Meet Lista,
Having trouble managing multiple shopping lists with different groups? Lista will help you.


Prerequisites (For those who are not only interested in production)

  • A firebase account
  • A twillo acount
  • Python 3 and the following python libraries:
    • flask
    • twilio
    • secrets
    • firebase_admin

Installation

A production version will be out soon, however, if you still feel like playing with the code feel free to follow the steps below:

  • clone the code
git clone https://github.com/itsikshteinberger/Lista
  • Open a new project in your firebase account with a real-time-database.
    Then go to sesttings > serviceaccounts and click on "Generate new private key" - the new JSON file will be saved in the same folder with the code under the name 'lista-firebase.json'.
    The URL of your database appears on the same screen, copy it and put it in the DataBase.py file (line number 11).
databaseURL: "Your new DataBaseURL"
  • For a chatbot we need a server, in the development version I used ngrock free server service, You can find the download link here.
    Once the zip file is downloaded, extract the exe file and open it, in the command that opens write "ngrock http 5000".
    After the new screen opens copy the second link - you will need it later.
  • Log in to your twillo account.
    Enter to develop > sms > settings > whatsapp-sandbox and run the bot, past the link you copied in the previous step to the textbox next to 'WHEN A MESSAGE COMES IN' label.
    Click 'save' and run the python code.


Now after attrition, depression and three pounds of pistachio ice cream - the chat bot is running.
Some of the steps I brought up earlier are explained here as well.

User manual

Although the use of chatbot is quite intuitive - but in any case I find it right to add here some points that may be unclear:

  • Lista is a classic girl, you can not access her just like that.
    You will need to send hi / hello / :wave: to her to see your lists in a 'list_index. list_name (list_token)' format.



  • Each list has a token (a random eight-character string that the computer automatically creates for each list) - you can share this token with friends to join the list.
    You can watch each list token by typing 'Token list_index'.



  • If you want to exit from a list you should know that in case that you are the owner of the list - the entire list will be deleted.
  • To see what else you can do - type 'help'.
  • For convenience ,the bot does not notice the difference between lowercase and uppercase letters.

Have a fun date with Lista 💕!