An AI Bot Responds in WhatsApp Chats
Programming Snapshot – Go Chatbot
© Lead Image © Dena Friesen
To impress his WhatsApp friends, Mike Schilli builds a chatbot in Go that contacts OpenAI on demand and provides answers.
It was many, many years ago, in 2009. At the time, I had been working for Yahoo! in Sunnyvale, California, for quite some time as a software engineer. At that time, the colleagues in my group came up with the idea of building a messenger app and giving up their well-paid jobs and health insurance at Yahoo! to join a newly founded startup company. I laughed and politely declined because the company seemed doomed to failure to me, even though I knew my colleagues were very capable people.
To keep a long story short, they named the new company WhatsApp, it took off like a rocket, and just five years later, Facebook (now Meta) paid around $19 billion for it. That catapulted my former colleagues into the Olympus of California's richest people. If I had joined them back then, all that would be left for me to do today would be sponsoring charity events (and that wouldn't be much of a life!) – also, so much for my ability to predict the future of IT.
End to End
Today, WhatsApp has almost completely replaced good old email in many people's private lives. Unfortunately, Meta does not provide an API solution for the messaging service. In this case, as usual, the open source world steps into the breach: The community has developed a Go library [1] named whatsmeow. It can be used to build arbitrary applications based on WhatsApp web communications (WhatsApp in a web browser). These applications can join real chats and send and receive messages. This is no trivial matter, because WhatsApp messages are still end-to-end encrypted. The only exception: As soon as a conversation participant says @Meta AI, the Facebook bot is allowed to join in, read along, and respond using artificial intelligence.
[...]