Book Image

Practical XMPP

By : Steven Watkin, David Koelle
Book Image

Practical XMPP

By: Steven Watkin, David Koelle

Overview of this book

XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications.
Table of Contents (16 chapters)
Practical XMPP
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
An Introduction to XMPP and Installing Our First Server

Building our echo bot


To build our echo bot, we will need to put a few things in place. First, we will create a user account for the bot. Next, we need to let the bot connect to a server. Then we'll send and receive messages. Alright, let's build a bot!

Creating a new user

The first thing we need to do is create an XMPP account for our bot to use. Recall from Chapter 1, An Introduction to XMPP and Installing Our First Server that we used prosodyctl to add a new account:

sudo prosodyctl adduser bot@localhost

Give the account a password as tellnoone. Once you have created the account, you can test it using a standard XMPP client if you wish.

Connecting to the server

Next, we'll create an index.js file and set up our XMPP connection:

const Client = require('node-xmpp-client') 
const options = { 
  jid: 'bot@localhost', 
  password: 'tellnoone' 
} 
const client = new Client(options) 
client.once('online', (connectionDetails) => { 
  console.log('We are connected...