paint-brush
Comment j'ai déménagé à Berlin en utilisant ChatGPT et JavaScriptpar@isaksolheim
758 lectures
758 lectures

Comment j'ai déménagé à Berlin en utilisant ChatGPT et JavaScript

par isak3m2023/12/17
Read on Terminal Reader

Trop long; Pour lire

J'ai construit un bot qui envoie automatiquement des messages personnalisés et contextuels à chaque nouvelle annonce publiée sur wg-gesucht.de. Le robot m'a trouvé un appartement à Berlin !
featured image - Comment j'ai déménagé à Berlin en utilisant ChatGPT et JavaScript
isak HackerNoon profile picture
0-item
1-item

TLDR : J'ai construit un bot qui envoie automatiquement des messages personnalisés et contextuels à chaque nouvelle annonce publiée sur wg-gesucht.de . Le robot m'a trouvé un appartement à Berlin !


Si l'aspect technique de ce projet vous intéresse, n'hésitez pas à parcourir le code en lisant cet article !

Introduction

À l'approche de mon semestre d'échange à la Technische Universität Berlin, j'ai commencé à chercher un endroit où vivre. Sans réseau existant à Berlin, j'ai utilisé le site wg-geuscht.de pour contacter des colocations potentielles. C'était un processus très répétitif et j'ai décidé de l'automatiser.

Automatisez les choses ennuyeuses avec JavaScript

J'ai configuré des alertes par e-mail pour tous les nouveaux appartements potentiels dans ma gamme de prix sur wg-gesucht.de et j'ai utilisé le service Google Clouds Pub/Sub avec un abonnement push pour surveiller tout e-mail entrant dans ma boîte de réception Gmail.


Dès qu'un nouvel e-mail arrive, le service envoie une notification webhook à mon serveur.

Analyser l'e-mail

Sur le serveur, écrit en JavaScript avec Express , j'ai lu le dernier e-mail dans ma boîte de réception Gmail et je l'ai analysé avec Regex pour voir si l'e-mail contenait des liens vers des listes wg-geuscht.

Parcourir la liste

Pour chaque liste, j'ai créé un navigateur Chromium à l'aide de Playwright , un framework de test de bout en bout. Cela m'a permis de naviguer sur le site Web comme on le ferait en interagissant soi-même avec lui. Je me suis connecté à mon compte, j'ai pris note de la description de l'annonce et j'ai appuyé sur Envoyer un message.

Générer un message à l'aide de GPT-3.5 Turbo

Le message est généré à l'aide de GPT-3.5 Turbo avec l'invite suivante :

 const prompt = ` Can you spice up the following text: "${starterText}" The updated text should explain why I would fit in the flatshare with the following listing text: "${listingText}". Add some emojies as well. Mention that my semester is from September to March, so a stay for that perioud would be ideal (but Im always flexible)! And if the listing is written in German, the answer should be in German as well. And if the listing says I need to say a specific word, start the whole text with that word! `;

Le message généré a été envoyé avec quelques images de moi-même.

Le résultat

Le temps qu'il a fallu entre la mise en ligne d'une annonce et l'envoi d'une réponse par mon robot était d'environ 10 secondes, ce qui m'a donné confiance en étant le premier intervenant. C'est la réponse qui m'a assuré un appartement :

 Hallo zusammen! 🦄 Das scheint ja eine richtig coole WG zu sein, in die ich perfekt reinpassen würde! 😄 Ich bin Isak und ich glaube, dass ich perfekt in dein WG-Zimmer passen würde! Mein Semester in Berlin geht von September bis März, also wäre ein Aufenthalt für diesen Zeitraum ideal (aber ich bin auch immer flexibel!). Die Lage der Wohnung klingt super, besonders die Nähe zum RAW-Gelände und zum Boxhagener Platz. Und hey, eine Tram-Station direkt vor der Tür ist auch genial! 🚋 Die Wohnung hört sich toll an, mit Balkon, Badewanne und Waschmaschine. Da fühlt man sich doch gleich wie zuhause! Wenn du Interesse hast, würde ich mich freuen, von dir zu hören. 📞 Liebe Grüße und hoffentlich bis bald! Isak PS Wenn die Anzeige auf Deutsch ist, dann antworte ich auch gerne auf Deutsch. Aber sei gewarnt, mein Deutsch ist manchmal etwas holprig. Ich verstehe nur Bahnhof! 😄


Pensées finales

Avec le recul, j'ai passé plus de temps à bricoler le bot qu'à répondre manuellement aux notifications par e-mail. Mais cela étant dit, je suis content du résultat de ce projet. J'ai eu beaucoup de rires grâce aux réponses idiotes que le robot envoyait, et la fréquence des personnes qui me répondaient a sensiblement augmenté (très probablement parce que j'étais leur premier intervenant).


J'ai récemment essayé de relancer le bot, mais depuis ma recherche en juin, la vérification captcha a été mise en œuvre sur leur site. C’est peut-être pour le mieux. Pour autant que je sache, de nombreuses annonces elles-mêmes ont été créées à l'aide de ChatGPT.