{"id":21089606,"url":"https://github.com/coolmunzi/restaurant_bot","last_synced_at":"2026-05-17T00:02:46.345Z","repository":{"id":202322867,"uuid":"325976140","full_name":"coolmunzi/restaurant_bot","owner":"coolmunzi","description":"This project is a whatsapp based restaurant finder chatbot with rasa 2.2 backend and Zomato API to fetch restaurants. ","archived":false,"fork":false,"pushed_at":"2021-01-01T13:25:20.000Z","size":4335,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T00:50:51.222Z","etag":null,"topics":["chatbot","chatbot-application","ngrok","nlp","nlp-machine-learning","python","rasa-chatbot","rasa-nlu","rasa-server","rasa2","restaurant-finder-chatbot","twilio","twilio-api","twilio-whatsapp","whatsapp","zomato-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coolmunzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-01-01T12:36:49.000Z","updated_at":"2023-12-25T03:08:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a8e7a7d-317e-4611-a676-f4b089430c25","html_url":"https://github.com/coolmunzi/restaurant_bot","commit_stats":null,"previous_names":["coolmunzi/restaurant_bot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolmunzi%2Frestaurant_bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolmunzi%2Frestaurant_bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolmunzi%2Frestaurant_bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolmunzi%2Frestaurant_bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coolmunzi","download_url":"https://codeload.github.com/coolmunzi/restaurant_bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243532564,"owners_count":20306157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","chatbot-application","ngrok","nlp","nlp-machine-learning","python","rasa-chatbot","rasa-nlu","rasa-server","rasa2","restaurant-finder-chatbot","twilio","twilio-api","twilio-whatsapp","whatsapp","zomato-api"],"created_at":"2024-11-19T21:29:52.508Z","updated_at":"2025-09-20T03:23:46.521Z","avatar_url":"https://github.com/coolmunzi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2\u003e About the project \u003c/h2\u003e\n\nA restaurant finder chatbot that is based on Rasa 2.2 backend and consumes Zomato API to find the restaurant for a user given location.\nChatbot requires 2 inputs from user: location and cuisine to find the restaurants using Zomato API. Chatbot is connected to Whatsapp via Twilio, \nhence a user can find restaurants via Whatsapp. \n\n\u003ch2\u003e Screens \u003c/h2\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"images/demo_1.png\" width=270 height=480\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"images/demo_2.png\" width=270 height=480\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"images/demo_3.png\" width=270 height=480\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n \u003c/table\u003e\n\n\u003ch2\u003e Technolgy stack used \u003c/h2\u003e\n\n1. [Rasa 2.2](https://rasa.com/) - Chatbot backend framework\n2. [Twilio API](https://www.twilio.com/) - To connect to Whatsapp using REST based API \n3. [Ngrok](https://ngrok.com/) - To generate public ip address and connect to the local rasa server\n4. [Zomato API](https://developers.zomato.com/api) - API to query the Zomato's restaurant database\n\n\n\u003ch2\u003e Prerequisites \u003c/h2\u003e\n\n1. Install [rasa 2.2](https://rasa.com/docs/rasa/installation/)\n\n2. Generate [Zomato API key](https://developers.zomato.com/api)\n\n3. Create account in Twilio and start the [whatsapp sandbox](https://www.twilio.com/console/sms/whatsapp/learn).\n\n4. Install [ngrok](https://ngrok.com/download) in the local machine and add your authorization token. \n \n\n\u003ch2\u003e Installation \u0026 Usage\u003c/h2\u003e\n\n1. Clone the repo using following command \n    \n        $ git clone https://github.com/coolmunzi/restaurant_bot.git\n2. Create a virtual environment and change the directory to the cloned repo\n3. Change your directory to the cloned repo and create a Python virtual environment\n   \n4. Add twilio credentials in credentials.yml file:\n         \n         twilio: \n           account_sid: \"{Add your account sid}\"\n           auth_token: \"{Add your Authorization token}\"\n           twilio_number: \"whatsapp:+{Add your twilio number}\" \n\n5. Add your zomato api key in zomatoApi.py file inside script folder.\n         \n         headers = {'user-key': '{Put your Zomato API key here}',\n           'Accept': 'application/json'}\n\n6. Train the rasa model:\n         \n         $ rasa train\n\n7. Start the  rasa server from terminal:\n\n         $ rasa run -m models --enable-api --cors \"*\" --debug\n\n8. Start rasa actions server in another terminal:\n         \n         $ rasa run actions\n\n9. Start ngrok from terminal\n         \n         $ ./ngrok http 5005\n\n10. Copy the forwarding ip address generated by ngrok and paste the same in _'WHEN A MESSAGE COMES IN'_ field inside Whatsapp Sandbox settings in Programmable Messaging Settings as highlighted in the below image.\n![alt text](./images/twilio_setting.png)\n   The end point should be in the format as shown below:\n         \n         {Ngrok generated ip address}/webhooks/twilio/webhook\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoolmunzi%2Frestaurant_bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoolmunzi%2Frestaurant_bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoolmunzi%2Frestaurant_bot/lists"}