Fix Degewo auto-apply (Wohnungshelden iframe), update dependencies, cleanup for production
- Fix Degewo handler to work with Wohnungshelden iframe portal - Update playwright to >=1.57.0 - Add proper form field selectors for Wohnungshelden - Fix success status bug (was marking failed submissions as success) - Clean up .env.example (remove real credentials) - Update README with housing company support table - Add BOTFATHER_COMMANDS.txt for easy bot setup - Add copilot-instructions.md for development context
This commit is contained in:
parent
bf9d7f1371
commit
ce66fc1933
12 changed files with 854 additions and 3599 deletions
48
README.md
48
README.md
|
|
@ -1,6 +1,6 @@
|
|||
# inberlin-monitor
|
||||
|
||||
Monitors [inberlinwohnen.de](https://www.inberlinwohnen.de/wohnungsfinder/) for new apartment listings and sends Telegram notifications. Supports automatic application submission via autopilot mode.
|
||||
Monitors [inberlinwohnen.de](https://www.inberlinwohnen.de/wohnungsfinder/) and [wgcompany.de](http://www.wgcompany.de) for new apartment/WG listings and sends Telegram notifications. Supports automatic application submission via autopilot mode.
|
||||
|
||||
## Features
|
||||
|
||||
|
|
@ -9,10 +9,22 @@ Monitors [inberlinwohnen.de](https://www.inberlinwohnen.de/wohnungsfinder/) for
|
|||
- 📱 Sends Telegram notifications for new listings with clickable links
|
||||
- 🤖 **Autopilot mode**: Automatically applies to new listings
|
||||
- 📊 **/plot command**: Visualize when listings appear throughout the week
|
||||
- 🏢 Supports multiple housing companies: HOWOGE, Gewobag, Degewo, Gesobau, Stadt und Land, WBM
|
||||
- 🏢 Supports 6 housing companies: HOWOGE, Gewobag, Degewo, Gesobau, Stadt und Land, WBM
|
||||
- 🏠 **WGcompany.de**: Also monitors WG room listings with configurable search filters
|
||||
- 💾 Persists state to detect only truly new listings
|
||||
- 📈 Logs listing times for pattern analysis
|
||||
|
||||
## Supported Housing Companies
|
||||
|
||||
| Company | Auto-Apply | Notes |
|
||||
|---------|------------|-------|
|
||||
| HOWOGE | ✅ | Direct form submission |
|
||||
| Gewobag | ✅ | Direct form submission |
|
||||
| Degewo | ✅ | Via Wohnungshelden portal |
|
||||
| Gesobau | ✅ | Direct form submission |
|
||||
| Stadt und Land | ✅ | Direct form submission |
|
||||
| WBM | ✅ | Direct form submission |
|
||||
|
||||
## Setup
|
||||
|
||||
### 1. Create Telegram Bot
|
||||
|
|
@ -80,13 +92,28 @@ cat data/monitor.log
|
|||
| Variable | Description | Default |
|
||||
|----------|-------------|---------|
|
||||
| `FORM_ANREDE` | Salutation (Herr/Frau) | Herr |
|
||||
| `FORM_VORNAME` | First name | Aron |
|
||||
| `FORM_NACHNAME` | Last name | Petau |
|
||||
| `FORM_EMAIL` | Contact email | `aron@petau.net` |
|
||||
| `FORM_PHONE` | Phone number | 017695773688 |
|
||||
| `FORM_VORNAME` | First name | - |
|
||||
| `FORM_NACHNAME` | Last name | - |
|
||||
| `FORM_EMAIL` | Contact email | - |
|
||||
| `FORM_PHONE` | Phone number | - |
|
||||
| `FORM_STRASSE` | Street name | - |
|
||||
| `FORM_HAUSNUMMER` | House number | - |
|
||||
| `FORM_PLZ` | Postal code | - |
|
||||
| `FORM_ORT` | City | Berlin |
|
||||
| `FORM_PERSONS` | Number of persons moving in | 1 |
|
||||
| `FORM_CHILDREN` | Number of children | 0 |
|
||||
| `FORM_INCOME` | Monthly household net income (€) | 1600 |
|
||||
| `FORM_INCOME` | Monthly household net income (€) | - |
|
||||
|
||||
### Optional - WGcompany.de Search Filters
|
||||
|
||||
| Variable | Description | Default |
|
||||
|----------|-------------|---------|
|
||||
| `WGCOMPANY_ENABLED` | Enable WGcompany monitoring | true |
|
||||
| `WGCOMPANY_MIN_SIZE` | Minimum room size (m²) | - |
|
||||
| `WGCOMPANY_MAX_SIZE` | Maximum room size (m²) | - |
|
||||
| `WGCOMPANY_MIN_PRICE` | Minimum rent (€) | - |
|
||||
| `WGCOMPANY_MAX_PRICE` | Maximum rent (€) | - |
|
||||
| `WGCOMPANY_BEZIRK` | District code (0=all) | 0 |
|
||||
|
||||
## Without Login
|
||||
|
||||
|
|
@ -98,10 +125,13 @@ All data is stored in the `./data` directory:
|
|||
|
||||
| File | Description |
|
||||
|------|-------------|
|
||||
| `listings.json` | Known listings (for duplicate detection) |
|
||||
| `listings.json` | Known inberlinwohnen listings |
|
||||
| `wgcompany_listings.json` | Known WGcompany listings |
|
||||
| `state.json` | Monitor state (autopilot on/off) |
|
||||
| `applications.json` | Record of submitted applications |
|
||||
| `listing_times.csv` | Timing data for pattern analysis |
|
||||
| `listing_times.csv` | InBerlin timing data for pattern analysis |
|
||||
| `wgcompany_times.csv` | WGcompany timing data |
|
||||
| `monitor.log` | Application logs |
|
||||
| `weekly_plot.png` | Generated plot from /plot command |
|
||||
| `wgcompany_debug.html` | Debug HTML from WGcompany |
|
||||
| `*.png` | Screenshots from application attempts |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue