Chapter 9. Groupchat, Components, and Event Models
By now, you should have a good idea of how scripts interact with Jabber
and how the core elements such as <message/>
and <presence/>
can be constructed
and handled.
This chapter builds upon what we’ve already seen in
Chapter 8
and introduces new concepts. We build a nosy assistant that
joins a conference room and alerts us to words and phrases that we want it
to listen for. There are two popular conference protocols, as mentioned
in Section 6.2.6—the presence-based
Groupchat protocol, and the
jabber:iq:conference
-based Conference
protocol. The assistant recipe, a foray into the world of ‘bots, takes a
look at the original presence-based one.
As we’ve seen, programming within Jabber’s event model is fairly straightforward. But what happens when you want to meld other components with event models of their own? We look at a couple of typical scenarios where this melding needs to happen. The first is a homage to the Trojan Room Coffee Machine (http://www.cl.cam.ac.uk/coffee/coffee.html), where we give life, or at least presence, to a coffeepot, using LEGO® MINDSTORMS™. The second is a Tk-based RSS headline viewer. Both the coffeepot and the Tk programming library have event loops of their own. With the coffeepot, we need to have a loop that polls the coffeepot’s status, independently of the polling for incoming packets from the Jabber server. The Tk programming library’s event model is similar to those of the Jabber programming ...
Get Programming Jabber now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.