{"id":25438880,"url":"https://github.com/kwven/immobot","last_synced_at":"2026-05-04T07:32:59.569Z","repository":{"id":273104169,"uuid":"901920404","full_name":"kwven/immobot","owner":"kwven","description":"multilingual WhatsApp chatbot designed to help users find real estate properties based on their preferences","archived":false,"fork":false,"pushed_at":"2025-02-16T14:53:57.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-15T09:43:15.719Z","etag":null,"topics":["bot","chatbot","real-estate","scraping","whatsapp-bot"],"latest_commit_sha":null,"homepage":"https://immobo.vercel.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kwven.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-11T15:05:01.000Z","updated_at":"2025-02-16T14:54:00.000Z","dependencies_parsed_at":"2025-02-07T20:22:09.228Z","dependency_job_id":"ad8c89e0-09dc-4648-b453-ce6617f2d763","html_url":"https://github.com/kwven/immobot","commit_stats":null,"previous_names":["kwven/immobot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kwven/immobot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwven%2Fimmobot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwven%2Fimmobot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwven%2Fimmobot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwven%2Fimmobot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kwven","download_url":"https://codeload.github.com/kwven/immobot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kwven%2Fimmobot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32599044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bot","chatbot","real-estate","scraping","whatsapp-bot"],"created_at":"2025-02-17T10:16:30.304Z","updated_at":"2026-05-04T07:32:59.529Z","avatar_url":"https://github.com/kwven.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ImmoBot - WhatsApp Real Estate Assistant\n\nImmoBot is a multilingual WhatsApp chatbot designed to help users find real estate properties based on their preferences. It supports multiple languages including French (FR), English (EN), Arabic (AR), and Moroccan Darija (DA).\n\n## Features\n\n- 🌐 Multilingual support (French, English, Arabic, Moroccan Darija)\n- 🏠 Property search based on multiple criteria (rooms, budget, city)\n- 💬 Natural language processing for user interactions\n- 🔒 Secure webhook implementation with signature verification\n- 📝 Detailed property information including amenities and photos\n\n## Prerequisites\n\nBefore running the bot, make sure you have:\n\n1. Python 3.7 or higher installed\n2. A WhatsApp Business API account\n3. Facebook Developer account with WhatsApp integration set up\n4. Required environment variables (see Configuration section)\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/kwven/immobot.git\ncd immobot\n```\n\n2. Create and activate a virtual environment:\n```bash\npython -m venv venv\nsource venv/bin/activate  # On Windows: venv\\Scripts\\activate\n```\n\n3. Install required packages:\n```bash\ncheck req.txt file to understand\n```\n\n## Configuration\n\n1. Create a `.env` file in the root directory with the following variables:\n```\nyou can check exp.env file to understand\nhere is a documentation to understand how to work with whatsapp API\n\nhttps://developers.facebook.com/docs/whatsapp/cloud-api\n```\n\n2. Set up your property database by creating a `rooms_database.json` file with the following structure:\n```json\n[\n  {\n    \"id\": \"unique_id\",\n    \"rooms\": 2,\n    \"price\": 5000,\n    \"currency\": \"MAD\",\n    \"city\": \"Casablanca\",\n    \"available\": true,\n    \"address\": \"Example Address\",\n    \"amenities\": {\n      \"en\": [\"Parking\", \"Pool\"],\n      \"fr\": [\"Parking\", \"Piscine\"],\n      \"ar\": [\"موقف سيارات\", \"مسبح\"],\n      \"da\": [\"Parking\", \"Piscine\"]\n    },\n    \"photos\": [\"photo_url_1\", \"photo_url_2\"],\n    \"description\": {\n      \"en\": \"Property description in English\",\n      \"fr\": \"Description en français\",\n      \"ar\": \"وصف بالعربية\",\n      \"da\": \"Description en darija\"\n    },\n    \"agent\": \"agent_phone_number\"\n  }\n]\n```\n\n## Running the Bot\n1. Set up webhook URL in your WhatsApp Business API settings:\n```\nyou can use port of vscode to test or you should get a domain name to get messages like ngrok or vercel\n\nhttps://your-domain/webhook\n```\n\n2. start with first_test.py:\n```python\n# Run first_test.py\npython first_test.py\n```\nReceive \u0026 Reply to Messages:\nSend a message to your WhatsApp number. The bot will:\nsend you a hello for testing \nyou should reply to the bot \nafter that you will get hi immobot\n\n3.Start the Flask server:\n```bash\npython run.py\n```\n\n## Bot Flow\n\n1. User sends a greeting message\n2. Bot detects language and asks for number of rooms\n3. User specifies rooms, bot asks for budget\n4. User specifies budget, bot asks for preferred city\n5. Bot searches database and returns matching properties\n6. User can restart the search by sending a greeting message\n\n## Security Features\n\n- Webhook signature verification using SHA256\n- Environment variable configuration\n- Request validation and sanitization\n- Error handling and logging\n\n## Error Handling\n\nThe bot includes comprehensive error handling:\n- Input validation for all user responses\n- Secure webhook verification\n- Database connection error handling\n- API response validation\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- WhatsApp Business API\n- Flask framework\n- Python community\n\n## Support\n\nFor support, email lamrania765@gmail.com or create an issue in the repository.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkwven%2Fimmobot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkwven%2Fimmobot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkwven%2Fimmobot/lists"}