2.1.1 • Published 10 years ago

level-threaded-chat v2.1.1

Weekly downloads
3
License
BSD
Repository
github
Last release
10 years ago

Level Threaded Chat

Threaded chats with LevelDB.

Installation

> npm install

Usage

var c = new LevelThreadedChat('you@email.com');

where 'you@email.com' can be any user identifier.

Follow a user

c.follow('friend@email.com', function (err, u) {
  if (!err) {
    console.log(u);
  }
});

Unfollow a user

c.unfollow('friend@email.com', function (err, u) {
  if (!err) {
    console.log(u);
  }
});

Get all followed users

c.getFollowing(function (err, f) {
  if (!err) {
    console.log(f);
  }
});

Verify follower exists

c.isFollowing('friend@email.com', function (err, u) {
  if (!err) {
    console.log(u);
  }
});

Add a chat message

var chat = {
  media: 'data:image/gif;base64',
  recipients: ['user1', 'user2']
};

chat.recipients.forEach(function (user) {
  c.addChat(user, 'hola!', chat, function (err, c) {
    if (!err) {
      console.log(c);
    }
  });
});

Add a chat message to a thread

var chat = {
  media: 'data:image/gif;base64',
  recipients: ['user1', 'user2'],
  reply: <senderKey>
};

c.addChat(user, 'hola!', chat, function (err, c) {
  if (!err) {
    c.getThread(<senderKey>, <since>, <reverse>, function (err, t) {
      should.exist(t);
      done();
    });
  }
});

senderKey is the key of the original message.

since is the key from where you want to start getting messages

reverse is an optional boolean to reverse the chat history from latest -> earliest. Defaults at earliest -> latest.

Get all chats

c.getChats(<key>, <reverse>, function (err, c) {
  if (!err) {
    console.log(c);
  }
});

key is an optional point in which you want to start a chat stream from - set to false if you want it to default to the beginning.

reverse is an optional boolean to reverse the chat history from latest -> earliest. Defaults at earliest -> latest.

Block a user

c.blockUser('user@email.com', function (err, c) {
  if (!err) {
    console.log(c);
  }
});

Unblock a user

c.unblockUser('user@email.com', function (err, c) {
  if (!err) {
    console.log(c);
  }
});

Get a list of blocked users

c.getBlockedUsers(function (err, c) {
  if (!err) {
    console.log(c);
  }
});

Tests

> npm test
2.1.1

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago