paint-brush
我如何使用 ChatGPT 和 JavaScript 搬到柏林经过@isaksolheim
804 讀數
804 讀數

我如何使用 ChatGPT 和 JavaScript 搬到柏林

经过 isak.me3m2023/12/17
Read on Terminal Reader

太長; 讀書

我构建了一个机器人,可以自动向 wg-gesucht.de 上发布的每个新列表发送个性化的上下文感知消息。机器人在柏林为我找到了一套公寓!
featured image - 我如何使用 ChatGPT 和 JavaScript 搬到柏林
isak.me HackerNoon profile picture
0-item
1-item

TLDR :我构建了一个机器人,可以自动向wg-gesucht.de上发布的每个新列表发送个性化的上下文感知消息。机器人在柏林为我找到了一套公寓!


如果您对该项目的技术方面感兴趣,请在阅读本文时随意深入研究代码

介绍

随着我在柏林工业大学的交换学期临近,我开始寻找住处。在柏林没有现有网络的情况下,我使用网站wg-geuscht.de来联系潜在的合租者。这是一个非常重复的过程,我决定将其自动化。

使用 JavaScript 将无聊的事情自动化

我在wg-gesucht.de上为我的价格范围内的所有新潜在公寓设置了电子邮件提醒,并使用 Google Clouds Pub/Sub 服务推送订阅来监视我的 Gmail 收件箱中收到的任何电子邮件。


一旦有新电子邮件到达,该服务就会向我的服务器发送一个 Webhook 通知。

解析电子邮件

在服务器上,用 JavaScript 和Express编写,我阅读了 Gmail 收件箱中的最新电子邮件,并使用 Regex 对其进行解析,以查看该电子邮件是否包含指向任何 wg-geuscht 列表的链接。

浏览列表

对于每个列表,我使用Playwright (一个端到端测试框架)生成了一个 Chromium 浏览器。这使我能够像自己与网站交互一样浏览该网站。我登录了我的帐户,记下列表描述,然后点击发送消息。

使用 GPT-3.5 Turbo 生成消息

该消息是使用GPT-3.5 Turbo生成的,并显示以下提示:

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

生成的消息与我自己的几张图像一起发送。

结果

从列表上线到我的机器人发送响应所需的时间约为 10 秒,这让我有信心成为第一个响应者。这是我获得公寓的答复:

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


结束语

回想起来,我花在修补机器人上的时间比手动回复电子邮件通知的时间还要多。但话虽如此,我对这个项目的结果感到满意。机器人发送的愚蠢回复给我带来了很多欢笑,人们回复我的频率也明显增加(很可能是因为我是他们的第一个回复者)。


我最近尝试再次启动该机器人,但自从我六月份的搜索以来,验证码验证已在他们的网站上实施。这可能是为了更好。据我所知,许多列表本身是使用 ChatGPT 创建的。