TLDR : Tôi đã xây dựng một bot tự động gửi tin nhắn được cá nhân hóa, nhận biết theo ngữ cảnh tới mọi danh sách mới được đăng trên wg-gesucht.de . Robot đã tìm cho tôi một căn hộ ở Berlin!
Nếu bạn quan tâm đến khía cạnh kỹ thuật của dự án này, vui lòng tìm hiểu mã trong khi đọc bài viết này!
Khi học kỳ trao đổi của tôi tại Technische Universität Berlin đến gần, tôi bắt đầu tìm kiếm nơi ở. Không có mạng lưới hiện có ở Berlin, tôi đã sử dụng trang web wg-geuscht.de để liên hệ với các công ty chia sẻ căn hộ tiềm năng. Đây là một quá trình lặp đi lặp lại rất nhiều và tôi quyết định tự động hóa nó.
Tôi đã thiết lập thông báo qua email cho tất cả các căn hộ tiềm năng mới trong phạm vi giá của mình trên wg-gesucht.de và sử dụng dịch vụ Google Clouds Pub/Sub với tính năng đăng ký đẩy để theo dõi mọi email đến hộp thư đến Gmail của tôi.
Khi có email mới đến, dịch vụ sẽ gửi thông báo webhook đến máy chủ của tôi.
Trên máy chủ, được viết bằng JavaScript bằng Express , tôi đọc email mới nhất trong hộp thư đến Gmail của mình và phân tích nó bằng Regex để xem email có chứa liên kết đến bất kỳ danh sách wg-geuscht nào không.
Đối với mỗi danh sách, tôi tạo ra một trình duyệt Chrome bằng cách sử dụng Playwright , một khung thử nghiệm toàn diện. Điều này cho phép tôi điều hướng trang web giống như cách người ta tương tác với nó. Tôi đã đăng nhập vào tài khoản của mình, ghi lại mô tả danh sách và nhấn gửi tin nhắn.
Thông báo được tạo bằng GPT-3.5 Turbo với lời nhắc sau:
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! `;
Tin nhắn được tạo sẽ được gửi cùng với một vài hình ảnh của tôi.
Thời gian từ khi danh sách hiển thị trực tiếp đến bot của tôi gửi phản hồi là khoảng 10 giây, khiến tôi tự tin là người phản hồi đầu tiên. Đây là câu trả lời giúp tôi có được một căn hộ:
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! 😄
Nhìn lại, tôi đã dành nhiều thời gian mày mò với bot hơn là trả lời thủ công các thông báo qua email. Nhưng với điều đó đã nói, tôi hài lòng với kết quả của dự án này. Tôi đã nhận được rất nhiều tiếng cười sảng khoái trước những phản hồi ngớ ngẩn mà bot gửi và tần suất mọi người quay lại với tôi đã tăng lên đáng kể (rất có thể vì tôi là người phản hồi đầu tiên của họ).
Gần đây tôi đã thử khởi động lại bot, nhưng kể từ khi tôi tìm kiếm vào tháng 6, xác minh hình ảnh xác thực đã được triển khai trên trang web của họ. Điều này có thể tốt hơn. Theo tất cả những gì tôi biết, bản thân nhiều danh sách đã được tạo bằng ChatGPT.