mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 20:13:30 +01:00
Added startTyping and stopTyping
This commit is contained in:
@@ -43,7 +43,7 @@ var Client = (function () {
|
|||||||
this.user = null;
|
this.user = null;
|
||||||
this.alreadySentData = false;
|
this.alreadySentData = false;
|
||||||
this.serverCreateListener = {};
|
this.serverCreateListener = {};
|
||||||
|
this.typingIntervals = {};
|
||||||
this.email = "abc";
|
this.email = "abc";
|
||||||
this.password = "abc";
|
this.password = "abc";
|
||||||
|
|
||||||
@@ -1354,7 +1354,7 @@ var Client = (function () {
|
|||||||
op: 2,
|
op: 2,
|
||||||
d: {
|
d: {
|
||||||
token: this.token,
|
token: this.token,
|
||||||
v: 2,
|
v: 3,
|
||||||
properties: {
|
properties: {
|
||||||
"$os": "discord.js",
|
"$os": "discord.js",
|
||||||
"$browser": "discord.js",
|
"$browser": "discord.js",
|
||||||
@@ -1666,6 +1666,47 @@ var Client = (function () {
|
|||||||
value: function setStatusAway() {
|
value: function setStatusAway() {
|
||||||
this.setStatusIdle();
|
this.setStatusIdle();
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
key: "startTyping",
|
||||||
|
value: function startTyping(chann) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.resolveDestination(chann).then(next);
|
||||||
|
|
||||||
|
function next(channel) {
|
||||||
|
if (self.typingIntervals[channel]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var fn = function fn() {
|
||||||
|
console.log(Endpoints.CHANNELS + "/" + channel + "/typing");
|
||||||
|
request.post(Endpoints.CHANNELS + "/" + channel + "/typing").set("authorization", self.token).end();
|
||||||
|
};
|
||||||
|
|
||||||
|
fn();
|
||||||
|
|
||||||
|
var interval = setInterval(fn, 3000);
|
||||||
|
|
||||||
|
self.typingIntervals[channel] = interval;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "stopTyping",
|
||||||
|
value: function stopTyping(chann) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.resolveDestination(chann).then(next);
|
||||||
|
|
||||||
|
function next(channel) {
|
||||||
|
if (!self.typingIntervals[channel]) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
clearInterval(self.typingIntervals[channel]);
|
||||||
|
|
||||||
|
delete self.typingIntervals[channel];
|
||||||
|
}
|
||||||
|
}
|
||||||
}, {
|
}, {
|
||||||
key: "setStatus",
|
key: "setStatus",
|
||||||
value: function setStatus(stat) {
|
value: function setStatus(stat) {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ class Client {
|
|||||||
this.user = null;
|
this.user = null;
|
||||||
this.alreadySentData = false;
|
this.alreadySentData = false;
|
||||||
this.serverCreateListener = {};
|
this.serverCreateListener = {};
|
||||||
|
this.typingIntervals = {};
|
||||||
this.email = "abc";
|
this.email = "abc";
|
||||||
this.password = "abc";
|
this.password = "abc";
|
||||||
|
|
||||||
@@ -1115,7 +1115,7 @@ class Client {
|
|||||||
op: 2,
|
op: 2,
|
||||||
d: {
|
d: {
|
||||||
token: this.token,
|
token: this.token,
|
||||||
v: 2,
|
v: 3,
|
||||||
properties: {
|
properties: {
|
||||||
"$os": "discord.js",
|
"$os": "discord.js",
|
||||||
"$browser": "discord.js",
|
"$browser": "discord.js",
|
||||||
@@ -1403,6 +1403,49 @@ class Client {
|
|||||||
this.setStatusIdle();
|
this.setStatusIdle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
startTyping(chann){
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.resolveDestination(chann).then(next);
|
||||||
|
|
||||||
|
function next(channel){
|
||||||
|
if(self.typingIntervals[channel]){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var fn = function(){
|
||||||
|
console.log(`${Endpoints.CHANNELS}/${channel}/typing`);
|
||||||
|
request
|
||||||
|
.post(`${Endpoints.CHANNELS}/${channel}/typing`)
|
||||||
|
.set("authorization", self.token)
|
||||||
|
.end();
|
||||||
|
};
|
||||||
|
|
||||||
|
fn();
|
||||||
|
|
||||||
|
var interval = setInterval(fn, 3000);
|
||||||
|
|
||||||
|
self.typingIntervals[channel] = interval;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stopTyping(chann){
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.resolveDestination(chann).then(next);
|
||||||
|
|
||||||
|
function next(channel){
|
||||||
|
if(!self.typingIntervals[channel]){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
clearInterval(self.typingIntervals[channel]);
|
||||||
|
|
||||||
|
delete self.typingIntervals[channel];
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
setStatus(stat){
|
setStatus(stat){
|
||||||
|
|
||||||
var idleTime = (stat === "online" ? null : Date.now());
|
var idleTime = (stat === "online" ? null : Date.now());
|
||||||
|
|||||||
@@ -19,13 +19,13 @@ mybot.on("message", function (message) {
|
|||||||
|
|
||||||
var onlineUsers = 0;
|
var onlineUsers = 0;
|
||||||
|
|
||||||
mybot.setStatusIdle();
|
mybot.startTyping(message.channel);
|
||||||
|
|
||||||
mybot.reply(message, onlineUsers);
|
|
||||||
|
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
mybot.setStatusOnline();
|
mybot.reply(message, "stopping now k");
|
||||||
},5000);
|
mybot.stopTyping(message.channel);
|
||||||
|
}, 6000);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
mybot.on("ready", function () {
|
mybot.on("ready", function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user