paint-brush
Como me mudei para Berlim usando ChatGPT e JavaScriptpor@isaksolheim
797 leituras
797 leituras

Como me mudei para Berlim usando ChatGPT e JavaScript

por isak.me3m2023/12/17
Read on Terminal Reader

Muito longo; Para ler

Criei um bot que envia automaticamente mensagens personalizadas e sensíveis ao contexto para cada nova listagem postada em wg-gesucht.de. O bot encontrou um apartamento para mim em Berlim!
featured image - Como me mudei para Berlim usando ChatGPT e JavaScript
isak.me HackerNoon profile picture
0-item
1-item

TLDR : criei um bot que envia automaticamente mensagens personalizadas e sensíveis ao contexto para cada nova listagem postada em wg-gesucht.de . O bot encontrou um apartamento para mim em Berlim!


Se você estiver interessado no lado técnico deste projeto, sinta-se à vontade para explorar o código enquanto lê este artigo!

Introdução

À medida que meu semestre de intercâmbio na Technische Universität Berlin se aproximava, comecei a procurar lugares para morar. Sem uma rede existente em Berlim, usei o site wg-geuscht.de para entrar em contato com possíveis flatshares. Esse era um processo muito repetitivo e decidi automatizá-lo.

Automatize as coisas chatas com JavaScript

Configurei alertas por e-mail para todos os novos apartamentos em potencial na minha faixa de preço em wg-gesucht.de e usei o serviço Google Clouds Pub/Sub com uma assinatura push para monitorar qualquer e-mail recebido em minha caixa de entrada do Gmail.


Assim que chega um novo e-mail, o serviço envia uma notificação de webhook ao meu servidor.

Analisando o e-mail

No servidor, escrito em JavaScript com Express , li o e-mail mais recente na minha caixa de entrada do Gmail e analisei-o com Regex para ver se o e-mail continha links para alguma listagem do wg-geuscht.

Navegando na listagem

Para cada listagem, criei um navegador Chromium usando Playwright , uma estrutura de teste ponta a ponta. Isso me permitiu navegar no site da mesma forma que alguém faria ao interagir com ele. Entrei na minha conta, anotei a descrição do anúncio e cliquei em enviar mensagem.

Gerando uma mensagem usando GPT-3.5 Turbo

A mensagem é gerada usando GPT-3.5 Turbo com o seguinte prompt:

 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! `;

A mensagem gerada foi enviada junto com algumas imagens minhas.

O resultado

O tempo que levou desde a publicação de uma listagem até o envio de uma resposta pelo meu bot foi de cerca de 10 segundos, o que me deixou confiante em ser o primeiro a responder. Esta foi a resposta que me garantiu um apartamento:

 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! 😄


Considerações finais

Olhando para trás, passei mais tempo mexendo no bot do que respondendo manualmente às notificações por e-mail. Mas, dito isso, estou feliz com o resultado deste projeto. Dei muitas boas risadas com as respostas bobas que o bot enviava, e a frequência com que as pessoas me respondiam aumentou visivelmente (provavelmente porque eu fui o primeiro a responder).


Recentemente, tentei ativar o bot novamente, mas desde minha pesquisa em junho, a verificação de captcha foi implementada em seu site. Isto pode ser para melhor. Pelo que sei, muitas das listagens foram criadas usando ChatGPT.