mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
Added start/stop typing listeners
This commit is contained in:
@@ -64,6 +64,7 @@ var Client = (function () {
|
||||
this.pmChannelCache = [];
|
||||
this.readyTime = null;
|
||||
this.checkingQueue = {};
|
||||
this.userTypingListener = {};
|
||||
this.queue = {};
|
||||
|
||||
this.__idleTime = null;
|
||||
@@ -1115,6 +1116,30 @@ var Client = (function () {
|
||||
|
||||
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");
|
||||
self.trigger("unknown", dat);
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -52,6 +52,13 @@ mybot.on("channelUpdate", function(oldChan, newChan){
|
||||
|
||||
});
|
||||
|
||||
mybot.on("startTyping", function(user, channel){
|
||||
console.log("start", user);
|
||||
});
|
||||
mybot.on("stopTyping", function(user, channel){
|
||||
console.log("stop", user);
|
||||
});
|
||||
|
||||
function dump(msg) {
|
||||
console.log(msg);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user