mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 20:43:30 +01:00
Merge pull request #52 from abalabahaha/rewrite
Typing and setting status, various bug fixes
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
this bot is a ping pong bot, and every time a message
|
this bot is a ping pong bot, and every time a message
|
||||||
beginning with "ping" is sent, it will reply with
|
beginning with "ping" is sent, it will reply with
|
||||||
"pong".
|
"pong!".
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var Discord = require("../");
|
var Discord = require("../");
|
||||||
@@ -11,26 +11,29 @@ var AuthDetails = require("./auth.json");
|
|||||||
|
|
||||||
var bot = new Discord.Client();
|
var bot = new Discord.Client();
|
||||||
|
|
||||||
|
//when the bot is ready
|
||||||
bot.on("ready", function () {
|
bot.on("ready", function () {
|
||||||
console.log("Ready to begin! Serving in " + bot.channels.length + " channels");
|
console.log("Ready to begin! Serving in " + bot.channels.length + " channels");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//when the bot disconnects
|
||||||
bot.on("disconnected", function () {
|
bot.on("disconnected", function () {
|
||||||
|
//alert the console
|
||||||
console.log("Disconnected!");
|
console.log("Disconnected!");
|
||||||
process.exit(1); //exit node.js with an error
|
|
||||||
|
|
||||||
|
//exit node.js with an error
|
||||||
|
process.exit(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//when the bot receives a message
|
||||||
bot.on("message", function (msg) {
|
bot.on("message", function (msg) {
|
||||||
if (msg.content.substring(0, 4) === "ping") {
|
//if message begins with "ping"
|
||||||
|
if (msg.content.indexOf("ping") === 0) {
|
||||||
//send a message to the channel the ping message was sent in.
|
//send a message to the channel the ping message was sent in.
|
||||||
bot.sendMessage(msg.channel, "pong!");
|
bot.sendMessage(msg.channel, "pong!");
|
||||||
|
|
||||||
//alert the console
|
//alert the console
|
||||||
console.log("pong-ed " + msg.sender.username);
|
console.log("pong-ed " + msg.author.username);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ module.exports = function (grunt) {
|
|||||||
babel: {
|
babel: {
|
||||||
options: {
|
options: {
|
||||||
loose: "all",
|
loose: "all",
|
||||||
compact: true
|
compact: !grunt.option('dev')
|
||||||
},
|
},
|
||||||
dist: {
|
dist: {
|
||||||
files: [{
|
files: [{
|
||||||
expand: true,
|
expand: true,
|
||||||
cwd: "src/",
|
cwd: "src/",
|
||||||
src: ["/**/**.*"],
|
src: ["**/**.*"],
|
||||||
dest: "lib/",
|
dest: "lib/",
|
||||||
ext: ".js"
|
ext: ".js"
|
||||||
}]
|
}]
|
||||||
|
|||||||
@@ -509,6 +509,49 @@ var Client = (function (_EventEmitter) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//def setStatus
|
||||||
|
|
||||||
|
Client.prototype.setStatus = function setStatus(idleStatus, gameID) {
|
||||||
|
var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err) {} : arguments[2];
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (typeof gameID === "function") {
|
||||||
|
// gameID is the callback
|
||||||
|
callback = gameID;
|
||||||
|
} else if (typeof idleStatus === "function") {
|
||||||
|
// idleStatus is the callback
|
||||||
|
callback = idleStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.internal.setStatus(idleStatus, gameID).then(function () {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})["catch"](function (e) {
|
||||||
|
callback(e);
|
||||||
|
reject(e);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//def sendTyping
|
||||||
|
|
||||||
|
Client.prototype.sendTyping = function sendTyping(channel) {
|
||||||
|
var callback = arguments.length <= 1 || arguments[1] === undefined ? function (err) {} : arguments[1];
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
self.internal.sendTyping(channel).then(function () {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})["catch"](function (e) {
|
||||||
|
callback(e);
|
||||||
|
reject(e);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// def setTopic
|
// def setTopic
|
||||||
|
|
||||||
Client.prototype.setTopic = function setTopic(channel, topic) {
|
Client.prototype.setTopic = function setTopic(channel, topic) {
|
||||||
@@ -624,6 +667,16 @@ var Client = (function (_EventEmitter) {
|
|||||||
get: function get() {
|
get: function get() {
|
||||||
return this.internal.voiceConnection;
|
return this.internal.voiceConnection;
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
key: "readyTime",
|
||||||
|
get: function get() {
|
||||||
|
return this.internal.readyTime;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "uptime",
|
||||||
|
get: function get() {
|
||||||
|
return this.internal.uptime;
|
||||||
|
}
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
return Client;
|
return Client;
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
var EventEmitter = require("events");
|
var EventEmitter = require("events");
|
||||||
@@ -46,6 +48,7 @@ var InternalClient = (function () {
|
|||||||
this.private_channels = new Cache();
|
this.private_channels = new Cache();
|
||||||
this.voiceConnection = null;
|
this.voiceConnection = null;
|
||||||
this.resolver = new Resolver(this);
|
this.resolver = new Resolver(this);
|
||||||
|
this.readyTime = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
//def leaveVoiceChannel
|
//def leaveVoiceChannel
|
||||||
@@ -856,6 +859,54 @@ var InternalClient = (function () {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//def setStatus
|
||||||
|
|
||||||
|
InternalClient.prototype.setStatus = function setStatus(idleStatus, gameID) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
var packet = {
|
||||||
|
op: 3,
|
||||||
|
d: {
|
||||||
|
idle_since: null,
|
||||||
|
game_id: null
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (idleStatus) {
|
||||||
|
packet.d.idle_since = Date.now();
|
||||||
|
}
|
||||||
|
if (typeof gameID === "number") {
|
||||||
|
packet.d.game_id = gameID;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.sendWS(packet);
|
||||||
|
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
//def sendTyping
|
||||||
|
|
||||||
|
InternalClient.prototype.sendTyping = function sendTyping(channel) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise(function (resolve, reject) {
|
||||||
|
|
||||||
|
self.resolver.resolveChannel(channel).then(next)["catch"](reject);
|
||||||
|
|
||||||
|
function next(channel) {
|
||||||
|
|
||||||
|
request.post(Endpoints.CHANNEL(channel.id) + "/typing").set("authorization", self.token).end(function (err, res) {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
//def setTopic
|
//def setTopic
|
||||||
|
|
||||||
InternalClient.prototype.setTopic = function setTopic(chann) {
|
InternalClient.prototype.setTopic = function setTopic(chann) {
|
||||||
@@ -870,7 +921,7 @@ var InternalClient = (function () {
|
|||||||
|
|
||||||
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
|
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
|
||||||
name: channel.name,
|
name: channel.name,
|
||||||
position: 0,
|
position: channel.position,
|
||||||
topic: topic
|
topic: topic
|
||||||
}).end(function (err, res) {
|
}).end(function (err, res) {
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -898,7 +949,7 @@ var InternalClient = (function () {
|
|||||||
|
|
||||||
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
|
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
|
||||||
name: name,
|
name: name,
|
||||||
position: 0,
|
position: channel.position,
|
||||||
topic: channel.topic
|
topic: channel.topic
|
||||||
}).end(function (err, res) {
|
}).end(function (err, res) {
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -927,7 +978,7 @@ var InternalClient = (function () {
|
|||||||
|
|
||||||
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
|
request.patch(Endpoints.CHANNEL(channel.id)).set("authorization", self.token).send({
|
||||||
name: name,
|
name: name,
|
||||||
position: 0,
|
position: channel.position,
|
||||||
topic: topic
|
topic: topic
|
||||||
}).end(function (err, res) {
|
}).end(function (err, res) {
|
||||||
if (err) {
|
if (err) {
|
||||||
@@ -1008,6 +1059,10 @@ var InternalClient = (function () {
|
|||||||
client.emit("disconnected");
|
client.emit("disconnected");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.websocket.onerror = function (e) {
|
||||||
|
console.log(e);
|
||||||
|
};
|
||||||
|
|
||||||
this.websocket.onmessage = function (e) {
|
this.websocket.onmessage = function (e) {
|
||||||
|
|
||||||
if (e.type === "Binary") {
|
if (e.type === "Binary") {
|
||||||
@@ -1046,6 +1101,8 @@ var InternalClient = (function () {
|
|||||||
client.emit("ready");
|
client.emit("ready");
|
||||||
client.emit("debug", "ready packet took " + (Date.now() - startTime) + "ms to process");
|
client.emit("debug", "ready packet took " + (Date.now() - startTime) + "ms to process");
|
||||||
client.emit("debug", "ready with " + self.servers.length + " servers, " + self.channels.length + " channels and " + self.users.length + " users cached.");
|
client.emit("debug", "ready with " + self.servers.length + " servers, " + self.channels.length + " channels and " + self.users.length + " users cached.");
|
||||||
|
|
||||||
|
self.readyTime = Date.now();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PacketType.MESSAGE_CREATE:
|
case PacketType.MESSAGE_CREATE:
|
||||||
@@ -1392,6 +1449,13 @@ var InternalClient = (function () {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_createClass(InternalClient, [{
|
||||||
|
key: "uptime",
|
||||||
|
get: function get() {
|
||||||
|
return this.readyTime ? Date.now() - this.readyTime : null;
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
|
||||||
return InternalClient;
|
return InternalClient;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ var ServerChannel = (function (_Channel) {
|
|||||||
_Channel.call(this, data, client);
|
_Channel.call(this, data, client);
|
||||||
this.name = data.name;
|
this.name = data.name;
|
||||||
this.type = data.type;
|
this.type = data.type;
|
||||||
|
this.position = data.position;
|
||||||
this.permissionOverwrites = new Cache();
|
this.permissionOverwrites = new Cache();
|
||||||
this.server = server;
|
this.server = server;
|
||||||
data.permission_overwrites.forEach(function (permission) {
|
data.permission_overwrites.forEach(function (permission) {
|
||||||
|
|||||||
@@ -3,24 +3,24 @@
|
|||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
var VoicePacket = function VoicePacket(data, sequence, time, ssrc) {
|
var VoicePacket = function VoicePacket(data, sequence, time, ssrc) {
|
||||||
_classCallCheck(this, VoicePacket);
|
_classCallCheck(this, VoicePacket);
|
||||||
|
|
||||||
var audioBuffer = data,
|
var audioBuffer = data,
|
||||||
returnBuffer = new Buffer(audioBuffer.length + 12);
|
returnBuffer = new Buffer(audioBuffer.length + 12);
|
||||||
|
|
||||||
returnBuffer.fill(0);
|
returnBuffer.fill(0);
|
||||||
returnBuffer[0] = 0x80;
|
returnBuffer[0] = 0x80;
|
||||||
returnBuffer[1] = 0x78;
|
returnBuffer[1] = 0x78;
|
||||||
|
|
||||||
returnBuffer.writeUIntBE(sequence, 2, 2);
|
returnBuffer.writeUIntBE(sequence, 2, 2);
|
||||||
returnBuffer.writeUIntBE(time, 4, 4);
|
returnBuffer.writeUIntBE(time, 4, 4);
|
||||||
returnBuffer.writeUIntBE(ssrc, 8, 4);
|
returnBuffer.writeUIntBE(ssrc, 8, 4);
|
||||||
|
|
||||||
for (var i = 0; i < audioBuffer.length; i++) {
|
for (var i = 0; i < audioBuffer.length; i++) {
|
||||||
returnBuffer[i + 12] = audioBuffer[i];
|
returnBuffer[i + 12] = audioBuffer[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnBuffer;
|
return returnBuffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = VoicePacket;
|
module.exports = VoicePacket;
|
||||||
@@ -34,6 +34,14 @@ class Client extends EventEmitter {
|
|||||||
return this.internal.voiceConnection;
|
return this.internal.voiceConnection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get readyTime(){
|
||||||
|
return this.internal.readyTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
get uptime(){
|
||||||
|
return this.internal.uptime;
|
||||||
|
}
|
||||||
|
|
||||||
// def login
|
// def login
|
||||||
login(email, password, cb = function (err, token) { }) {
|
login(email, password, cb = function (err, token) { }) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -497,6 +505,50 @@ class Client extends EventEmitter {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//def setStatus
|
||||||
|
setStatus(idleStatus, gameID, callback=function(err){}){
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if (typeof gameID === "function") {
|
||||||
|
// gameID is the callback
|
||||||
|
callback = gameID;
|
||||||
|
}
|
||||||
|
else if (typeof idleStatus === "function") {
|
||||||
|
// idleStatus is the callback
|
||||||
|
callback = idleStatus;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.internal.setStatus(idleStatus, gameID)
|
||||||
|
.then(() => {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})
|
||||||
|
.catch(e => {
|
||||||
|
callback(e);
|
||||||
|
reject(e);
|
||||||
|
});
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//def sendTyping
|
||||||
|
sendTyping(channel, callback=function(err){}){
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
|
self.internal.sendTyping(channel)
|
||||||
|
.then(() => {
|
||||||
|
callback();
|
||||||
|
resolve();
|
||||||
|
})
|
||||||
|
.catch(e => {
|
||||||
|
callback(e);
|
||||||
|
reject(e);
|
||||||
|
});
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// def setTopic
|
// def setTopic
|
||||||
setTopic(channel, topic, callback=function(err){}){
|
setTopic(channel, topic, callback=function(err){}){
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|||||||
@@ -42,6 +42,11 @@ class InternalClient {
|
|||||||
this.private_channels = new Cache();
|
this.private_channels = new Cache();
|
||||||
this.voiceConnection = null;
|
this.voiceConnection = null;
|
||||||
this.resolver = new Resolver(this);
|
this.resolver = new Resolver(this);
|
||||||
|
this.readyTime = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
get uptime() {
|
||||||
|
return (this.readyTime ? Date.now() - this.readyTime : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
//def leaveVoiceChannel
|
//def leaveVoiceChannel
|
||||||
@@ -699,6 +704,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// def deleteRole
|
// def deleteRole
|
||||||
deleteRole(role) {
|
deleteRole(role) {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -910,6 +916,57 @@ class InternalClient {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//def setStatus
|
||||||
|
setStatus(idleStatus, gameID) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
|
var packet = {
|
||||||
|
op: 3,
|
||||||
|
d: {
|
||||||
|
idle_since: null,
|
||||||
|
game_id: null
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (idleStatus) {
|
||||||
|
packet.d.idle_since = Date.now();
|
||||||
|
}
|
||||||
|
if (typeof gameID === "number") {
|
||||||
|
packet.d.game_id = gameID;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.sendWS(packet);
|
||||||
|
|
||||||
|
resolve();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//def sendTyping
|
||||||
|
sendTyping(channel) {
|
||||||
|
var self = this;
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
|
||||||
|
self.resolver.resolveChannel(channel).then(next).catch(reject);
|
||||||
|
|
||||||
|
function next(channel) {
|
||||||
|
|
||||||
|
request
|
||||||
|
.post(Endpoints.CHANNEL(channel.id) + "/typing")
|
||||||
|
.set("authorization", self.token)
|
||||||
|
.end((err, res) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err);
|
||||||
|
} else {
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//def setTopic
|
//def setTopic
|
||||||
setTopic(chann, topic = "") {
|
setTopic(chann, topic = "") {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -924,7 +981,7 @@ class InternalClient {
|
|||||||
.set("authorization", self.token)
|
.set("authorization", self.token)
|
||||||
.send({
|
.send({
|
||||||
name: channel.name,
|
name: channel.name,
|
||||||
position: 0,
|
position: channel.position,
|
||||||
topic: topic
|
topic: topic
|
||||||
})
|
})
|
||||||
.end((err, res) => {
|
.end((err, res) => {
|
||||||
@@ -940,6 +997,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def setChannelName
|
//def setChannelName
|
||||||
setChannelName(chann, name = "discordjs_is_the_best") {
|
setChannelName(chann, name = "discordjs_is_the_best") {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -954,7 +1012,7 @@ class InternalClient {
|
|||||||
.set("authorization", self.token)
|
.set("authorization", self.token)
|
||||||
.send({
|
.send({
|
||||||
name: name,
|
name: name,
|
||||||
position: 0,
|
position: channel.position,
|
||||||
topic: channel.topic
|
topic: channel.topic
|
||||||
})
|
})
|
||||||
.end((err, res) => {
|
.end((err, res) => {
|
||||||
@@ -970,6 +1028,7 @@ class InternalClient {
|
|||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
//def setChannelNameAndTopic
|
//def setChannelNameAndTopic
|
||||||
setChannelNameAndTopic(chann, name = "discordjs_is_the_best", topic = "") {
|
setChannelNameAndTopic(chann, name = "discordjs_is_the_best", topic = "") {
|
||||||
var self = this;
|
var self = this;
|
||||||
@@ -984,7 +1043,7 @@ class InternalClient {
|
|||||||
.set("authorization", self.token)
|
.set("authorization", self.token)
|
||||||
.send({
|
.send({
|
||||||
name: name,
|
name: name,
|
||||||
position: 0,
|
position: channel.position,
|
||||||
topic: topic
|
topic: topic
|
||||||
})
|
})
|
||||||
.end((err, res) => {
|
.end((err, res) => {
|
||||||
@@ -1073,6 +1132,10 @@ class InternalClient {
|
|||||||
client.emit("disconnected");
|
client.emit("disconnected");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.websocket.onerror = (e) => {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
|
|
||||||
this.websocket.onmessage = (e) => {
|
this.websocket.onmessage = (e) => {
|
||||||
|
|
||||||
if (e.type === "Binary") {
|
if (e.type === "Binary") {
|
||||||
@@ -1109,6 +1172,8 @@ class InternalClient {
|
|||||||
client.emit("ready");
|
client.emit("ready");
|
||||||
client.emit("debug", `ready packet took ${Date.now() - startTime}ms to process`);
|
client.emit("debug", `ready packet took ${Date.now() - startTime}ms to process`);
|
||||||
client.emit("debug", `ready with ${self.servers.length} servers, ${self.channels.length} channels and ${self.users.length} users cached.`);
|
client.emit("debug", `ready with ${self.servers.length} servers, ${self.channels.length} channels and ${self.users.length} users cached.`);
|
||||||
|
|
||||||
|
self.readyTime = Date.now();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PacketType.MESSAGE_CREATE:
|
case PacketType.MESSAGE_CREATE:
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ class ServerChannel extends Channel{
|
|||||||
super(data, client);
|
super(data, client);
|
||||||
this.name = data.name;
|
this.name = data.name;
|
||||||
this.type = data.type;
|
this.type = data.type;
|
||||||
|
this.position = data.position;
|
||||||
this.permissionOverwrites = new Cache();
|
this.permissionOverwrites = new Cache();
|
||||||
this.server = server;
|
this.server = server;
|
||||||
data.permission_overwrites.forEach((permission) => {
|
data.permission_overwrites.forEach((permission) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user