Making Hangouts Chat bots with Python
Introduction:
Prior today at Google I/O, the Hangouts Chat group (counting yours really) conveyed an included chat on the bot structure for Hangouts Chat (talk video here [~40 mins]). On the off chance that you missed it a while back, Google propelled the new Hangouts Chat application for G Suite clients (yet not purchaser Gmail clients as of now). This cutting edge coordinated effort stage has a few key highlights not accessible in "exemplary Hangouts," including the capacity to make talk rooms, search, and the capacity to connect records from Google Drive. Anyway for engineers, the greatest new element is a bot structure and API enabling designers to make bots that interface with clients inside "spaces," i.e., talk rooms or direct messages (DMs).
Before beginning with bots, how about we audit average API use where Python Training in Bangalore your application must be approved for information get to, i.e., OAuth2. When consent is in all actuality, your application calls the API, the API benefits the solicitation and reacts back with the ideal outcomes, as showed here:
Bot engineering is very extraordinary. With bots, perceive that solicitations originate from clients in talk rooms or DMs. Clients direct messages towards a bot, at that point Hangouts Chat transfers those solicitations to the bot. The bot plays out all the vital handling (conceivably calling different APIs and administrations), examines the reaction, and returns it to Chat, which thus, shows the outcomes to clients. Here's the condensed bot work process:
A key take away from this discourse is that regularly in your applications, you call APIs. For bots, Hangouts Chat calls you. Hence, the administration is incredibly adaptable for designers: you can make bots utilizing basically any language (not simply Python), utilizing your pile of decision, and facilitated on any open or private cloud. The main prerequisite is that as long as Hangouts Chat would http be able to POST to your bot, you're ready.
Moreover, on the off chance that you believe there's something missing in the outline since you don't see OAuth2 nor API calls, you'd likewise be right. Search for both in a future post where I center around offbeat reactions from Hangouts Chat bots. Python Training will give a vast knowledge about this topic.
Types and Bot Preparing:
So what does the payload resemble when your bot gets a call from Hangouts Chat? The primary thing your bot needs to do is to decide the kind of occasion got. It would then be able to process the solicitation dependent on that occasion type, lastly, return a fitting JSON payload back to Hangouts Chat to render inside the space. There are presently four occasion types in Hangouts Chat:
• ADDED_TO_SPACE
• REMOVED_FROM_SPACE
• MESSAGE
• CARD_CLICKED
The main pair is for when a bot is added to or expelled from a space. In the principal case, the bot would almost certainly send an invite message like, "A debt of gratitude is in order for adding me to this room," and maybe give a few guidelines on the most proficient method to speak with the bot. At the point when a bot is expelled from a space, it can never again speak with talk room members, so there's no reaction message sent for this situation; the probably activity here is log that the bot was expelled from the space.
The third message type is likely the most widely recognized situation, where a bot has been added to a room, and now a human client is sending it a solicitation. The other regular sort would be the last one. Instead of a message, this occasion happens when clients click on a UI card component. The bot's activity here is to summon the "callback" related with the card component clicked. Various things can occur here: the bot can restore an instant message (or nothing by any means), a UI card can be refreshed, or another card can be returned.
All of what we depicted above is acknowledged in the pseudocode underneath (regardless of whether you execute in Python or some other upheld language) and accommodating in setting you up to audit the official documentation:
def process_event(req, rsp):
occasion = json.loads(req['body']) # occasion got
in the event that event['type'] == 'REMOVED_FROM_SPACE':
# no reaction as bot expelled from room
retu
elif event['type'] == 'ADDED_TO_SPACE':
# bot added to room; send welcome message
msg = {'text': 'A debt of gratitude is in order for adding me to this room!'}
elif event['type'] == 'MESSAGE':
# message got during typical activities
msg = respond_to_message(event['message']['text'])
elif event['type'] == 'CARD_CLICKED':
# result from client click on card UI
activity = event['action']
msg = respond_to_click( action['actio
MethodName'], action['parameters'])
else:
retu
rsp. Send(json.dumps(msg))
Notwithstanding usage language, regardless you have to make the fundamental changes to keep running on the facilitating stage you pick. Our model uses Google App Engine (GAE) for facilitating; underneath you'll see the undeniable similitudes between our real bot application and this pseudocode. For more details refer Python Training in Bangalore.
Further reading
Further Reading
Article
What to Consider When Adopting Multi-Tenancy in Kubernetes?
Organizations are starting to scale their cloud native operations. And as they do, the inefficiency of managing dozens of isolated clusters has become an evident problem. As the clusters continue to sprawl, businesses must unite diverse workloads onto shared infrastructure. This is because companies need better resource utilization and centralized governance among other things. But it is imperative to remember that going from a single tenant to a multi-tenant environment need
March 12, 2026
Article
Product Engineering Services: Driving Faster Development for Startups
It has been for everyone to see the short product lifecycles and a pressing need for rapid technical scalability that have come to define the modern startup ecosystem. For early-stage companies, the challenge is no longer just conceptualizing a solution. But they must also carry it out with enough precision to withstand high market volatility and fierce competition. We know that internal teams concentrate on core business strategy and fundraising. That still leaves us with th
March 12, 2026
Article
Why Modern Facilities Rely on Environmental Monitoring and Remote Temperature Probes for Compliance and Control
In today’s regulated and data-driven environments, organizations are under constant pressure to ensure that temperature and environmental conditions remain within defined limits. Even small fluctuations can result in product loss, compliance violations, or operational downtime. As a result, many facilities are moving away from manual checks and standalone sensors and adopting comprehensive environmental monitoring solutions instead. An environmental monitor provides rea
March 5, 2026
Article
Role of Data Warehousing in Ensuring Data Quality and Consistency
Organizations have come to rely heavily on large amounts of data in today's competitive markets. But to what end? For starters, to inform strategic decisions and power machine learning models. It goes without saying that the value of these digital assets is completely dependent on the accuracy of the underlying data. So, when data is fragmented or inconsistent across departments, you will obviously have inaccurate reporting and operational inefficiencies at your hands. This c
March 2, 2026