Book Image

Building Slack Bots

Book Image

Building Slack Bots

Overview of this book

Slack promises that its users will "be less busy." Slack bots interact with users in Slack chatrooms, providing useful immediate information, and automating work. This book gives you everything you need to build powerful and useful Slack bots. You’ll see how to hook into the Slack API to create software that can read and post to chatrooms, respond to commands and hints given in natural conversational language, and build fun and useful bots for your own place of work, both as a front end to your own service and to distribute and share as apps. You can even sell your bots and build a business as a Slack bot developer. Throughout the book, you’ll build useful and fun example applications that you can modify for your own situations. These range from simple, fun applications to liven up discussions to useful, data-driven apps to help you make decisions quickly and manage work.
Table of Contents (14 chapters)

Saving and retrieving data


First, let's look at what the Redis client has to offer us. Add the following lines to index.js:

client.set('hello', 'Hello World!');

client.get('hello', (err, reply) => {
  if (err) {
    console.log(err);
    return;
  }

  console.log(`Retrieved: ${reply}`);
});

In this example, we will set the value "Hello world!" in Redis with the key hello. In the get command, we specify the key we wish to use to retrieve a value.

Note

The Node Redis client is entirely asynchronous. This means that you have to supply a callback function with each command if you wish to process data.

A common mistake is to use the Node Redis client in a synchronous way. Here's an example:

let val = client.get('hello');
console.log('val:', val);

This, perhaps confusingly, results in:

val: false

This is because the get function will have returned the Boolean false before the request to the Redis server has been made.

Run the correct code and you should see the successful retrieval of the Hello world...