mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 02:23:31 +01:00
Added start/stop typing listeners
This commit is contained in:
@@ -64,6 +64,7 @@ var Client = (function () {
|
|||||||
this.pmChannelCache = [];
|
this.pmChannelCache = [];
|
||||||
this.readyTime = null;
|
this.readyTime = null;
|
||||||
this.checkingQueue = {};
|
this.checkingQueue = {};
|
||||||
|
this.userTypingListener = {};
|
||||||
this.queue = {};
|
this.queue = {};
|
||||||
|
|
||||||
this.__idleTime = null;
|
this.__idleTime = null;
|
||||||
@@ -1115,6 +1116,30 @@ var Client = (function () {
|
|||||||
|
|
||||||
break;
|
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:
|
default:
|
||||||
self.debug("received unknown packet");
|
self.debug("received unknown packet");
|
||||||
self.trigger("unknown", dat);
|
self.trigger("unknown", dat);
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ class Client {
|
|||||||
this.pmChannelCache = [];
|
this.pmChannelCache = [];
|
||||||
this.readyTime = null;
|
this.readyTime = null;
|
||||||
this.checkingQueue = {};
|
this.checkingQueue = {};
|
||||||
|
this.userTypingListener = {};
|
||||||
this.queue = {};
|
this.queue = {};
|
||||||
|
|
||||||
this.__idleTime = null;
|
this.__idleTime = null;
|
||||||
@@ -1024,6 +1025,30 @@ class Client {
|
|||||||
|
|
||||||
break;
|
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:
|
default:
|
||||||
self.debug("received unknown packet");
|
self.debug("received unknown packet");
|
||||||
self.trigger("unknown", dat);
|
self.trigger("unknown", dat);
|
||||||
|
|||||||
@@ -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) {
|
function dump(msg) {
|
||||||
console.log(msg);
|
console.log(msg);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user