mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 11:33:30 +01:00
Added optional compression
This commit is contained in:
@@ -14,6 +14,7 @@ var Invite = require("./invite.js");
|
|||||||
var PMChannel = require("./PMChannel.js");
|
var PMChannel = require("./PMChannel.js");
|
||||||
var ServerPermissions = require("./ServerPermissions.js");
|
var ServerPermissions = require("./ServerPermissions.js");
|
||||||
var gameMap = require("../ref/gameMap.json");
|
var gameMap = require("../ref/gameMap.json");
|
||||||
|
var zlib;
|
||||||
|
|
||||||
//node modules
|
//node modules
|
||||||
var request = require("superagent");
|
var request = require("superagent");
|
||||||
@@ -37,7 +38,13 @@ var Client = (function () {
|
|||||||
further efforts will be made to connect.
|
further efforts will be made to connect.
|
||||||
*/
|
*/
|
||||||
this.options = options;
|
this.options = options;
|
||||||
this.options.queue = this.options.queue;
|
this.options.compress = options.compress;
|
||||||
|
|
||||||
|
if (this.options.compress) {
|
||||||
|
// only require zlib if necessary
|
||||||
|
zlib = require("zlib");
|
||||||
|
}
|
||||||
|
|
||||||
this.token = token;
|
this.token = token;
|
||||||
this.state = 0;
|
this.state = 0;
|
||||||
this.websocket = null;
|
this.websocket = null;
|
||||||
@@ -1024,6 +1031,12 @@ var Client = (function () {
|
|||||||
//message
|
//message
|
||||||
this.websocket.onmessage = function (e) {
|
this.websocket.onmessage = function (e) {
|
||||||
|
|
||||||
|
if (e.type === "Binary") {
|
||||||
|
if (!zlib) zlib = require("zlib");
|
||||||
|
|
||||||
|
e.data = zlib.inflateSync(e.data).toString();
|
||||||
|
}
|
||||||
|
|
||||||
var dat = false,
|
var dat = false,
|
||||||
data = {};
|
data = {};
|
||||||
|
|
||||||
@@ -1661,7 +1674,7 @@ var Client = (function () {
|
|||||||
//def trySendConnData
|
//def trySendConnData
|
||||||
|
|
||||||
Client.prototype.trySendConnData = function trySendConnData() {
|
Client.prototype.trySendConnData = function trySendConnData() {
|
||||||
|
var self = this;
|
||||||
if (this.token && !this.alreadySentData) {
|
if (this.token && !this.alreadySentData) {
|
||||||
|
|
||||||
this.alreadySentData = true;
|
this.alreadySentData = true;
|
||||||
@@ -1677,7 +1690,8 @@ var Client = (function () {
|
|||||||
"$device": "discord.js",
|
"$device": "discord.js",
|
||||||
"$referrer": "",
|
"$referrer": "",
|
||||||
"$referring_domain": ""
|
"$referring_domain": ""
|
||||||
}
|
},
|
||||||
|
compress: self.options.compress
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.websocket.send(JSON.stringify(data));
|
this.websocket.send(JSON.stringify(data));
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ var Invite = require("./invite.js");
|
|||||||
var PMChannel = require("./PMChannel.js");
|
var PMChannel = require("./PMChannel.js");
|
||||||
var ServerPermissions = require("./ServerPermissions.js");
|
var ServerPermissions = require("./ServerPermissions.js");
|
||||||
var gameMap = require("../ref/gameMap.json");
|
var gameMap = require("../ref/gameMap.json");
|
||||||
|
var zlib;
|
||||||
|
|
||||||
//node modules
|
//node modules
|
||||||
var request = require("superagent");
|
var request = require("superagent");
|
||||||
@@ -27,7 +28,13 @@ class Client {
|
|||||||
further efforts will be made to connect.
|
further efforts will be made to connect.
|
||||||
*/
|
*/
|
||||||
this.options = options;
|
this.options = options;
|
||||||
this.options.queue = this.options.queue;
|
this.options.compress = options.compress;
|
||||||
|
|
||||||
|
if(this.options.compress){
|
||||||
|
// only require zlib if necessary
|
||||||
|
zlib = require("zlib");
|
||||||
|
}
|
||||||
|
|
||||||
this.token = token;
|
this.token = token;
|
||||||
this.state = 0;
|
this.state = 0;
|
||||||
this.websocket = null;
|
this.websocket = null;
|
||||||
@@ -1108,7 +1115,14 @@ class Client {
|
|||||||
|
|
||||||
//message
|
//message
|
||||||
this.websocket.onmessage = function (e) {
|
this.websocket.onmessage = function (e) {
|
||||||
|
|
||||||
|
if(e.type === "Binary"){
|
||||||
|
if(!zlib)
|
||||||
|
zlib = require("zlib");
|
||||||
|
|
||||||
|
e.data = zlib.inflateSync(e.data).toString();
|
||||||
|
}
|
||||||
|
|
||||||
var dat = false, data = {};
|
var dat = false, data = {};
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -1628,7 +1642,7 @@ class Client {
|
|||||||
|
|
||||||
//def trySendConnData
|
//def trySendConnData
|
||||||
trySendConnData() {
|
trySendConnData() {
|
||||||
|
var self = this;
|
||||||
if (this.token && !this.alreadySentData) {
|
if (this.token && !this.alreadySentData) {
|
||||||
|
|
||||||
this.alreadySentData = true;
|
this.alreadySentData = true;
|
||||||
@@ -1644,7 +1658,8 @@ class Client {
|
|||||||
"$device": "discord.js",
|
"$device": "discord.js",
|
||||||
"$referrer": "",
|
"$referrer": "",
|
||||||
"$referring_domain": ""
|
"$referring_domain": ""
|
||||||
}
|
},
|
||||||
|
compress : self.options.compress
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.websocket.send(JSON.stringify(data));
|
this.websocket.send(JSON.stringify(data));
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
var Discord = require("../");
|
var Discord = require("../");
|
||||||
var Member = require("../lib/Member.js");
|
var Member = require("../lib/Member.js");
|
||||||
var mybot = new Discord.Client();
|
var mybot = new Discord.Client({
|
||||||
|
compress : true
|
||||||
|
});
|
||||||
var fs = require("fs");
|
var fs = require("fs");
|
||||||
var request = require("request").defaults({ encoding: null });
|
var request = require("request").defaults({ encoding: null });
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user