Added start/stop typing listeners

This commit is contained in:
hydrabolt
2015-10-03 15:36:51 +01:00
parent ba69538029
commit b1f2ed64d3
3 changed files with 57 additions and 0 deletions

View File

@@ -54,6 +54,7 @@ class Client {
this.pmChannelCache = [];
this.readyTime = null;
this.checkingQueue = {};
this.userTypingListener = {};
this.queue = {};
this.__idleTime = null;
@@ -1023,6 +1024,30 @@ class Client {
}
break;
case "TYPING_START":
var userInCache = self.getUser("id", data.user_id);
var channelInCache = self.getChannel("id", data.channel_id);
if(!self.userTypingListener[data.user_id] || self.userTypingListener[data.user_id] === -1){
self.trigger("startTyping", userInCache, channelInCache);
}
self.userTypingListener[data.user_id] = Date.now();
setTimeout(function(){
if(self.userTypingListener[data.user_id] === -1){
return;
}
if( Date.now() - self.userTypingListener[data.user_id] > 6000 ){
// stopped typing
self.trigger("stopTyping", userInCache, channelInCache);
self.userTypingListener[data.user_id] = -1;
}
}, 6000);
break;
default:
self.debug("received unknown packet");