mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-12 01:23:31 +01:00
Added new functions
setStatusIdle() - aliases setStatusAway setStatusOnline() - aliases setStatusActive and setStatusHere setPlayingGame() - uses GameID resolvable
This commit is contained in:
@@ -796,6 +796,30 @@ class Client extends EventEmitter {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
setStatusIdle() {
|
||||
this.setStatus("idle");
|
||||
}
|
||||
|
||||
setStatusOnline(cb = function (err) { }) {
|
||||
this.setStatus("online");
|
||||
}
|
||||
|
||||
setStatusActive() {
|
||||
this.setStatusOnline();
|
||||
}
|
||||
|
||||
setStatusHere() {
|
||||
this.setStatusOnline();
|
||||
}
|
||||
|
||||
setStatusAway() {
|
||||
this.setStatusIdle();
|
||||
}
|
||||
|
||||
setPlayingGame(game) {
|
||||
this.setStatus(null, game);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Client;
|
||||
@@ -974,22 +974,28 @@ class InternalClient {
|
||||
//def setStatus
|
||||
setStatus(idleStatus, gameID) {
|
||||
var self = this;
|
||||
|
||||
self.idleStatus = idleStatus || self.idleStatus || null;
|
||||
if(idleStatus){
|
||||
if(idleStatus == "online" || idleStatus == "here" || idleStatus == "available"){
|
||||
self.idleStatus = null;
|
||||
}
|
||||
}
|
||||
self.gameID = self.resolver.resolveGameID(gameID) || self.gameID || null;
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
var packet = {
|
||||
op: 3,
|
||||
d: {
|
||||
idle_since: null,
|
||||
game_id: null
|
||||
idle_since: self.idleStatus,
|
||||
game_id: self.gameID
|
||||
}
|
||||
};
|
||||
|
||||
if (idleStatus) {
|
||||
if (self.idleStatus == "idle" || self.idleStatus == "away") {
|
||||
packet.d.idle_since = Date.now();
|
||||
}
|
||||
if (typeof gameID === "number") {
|
||||
packet.d.game_id = gameID;
|
||||
}
|
||||
|
||||
self.sendWS(packet);
|
||||
|
||||
|
||||
@@ -11,12 +11,29 @@ var User = require("../../Structures/User.js"),
|
||||
PMChannel = require("../../Structures/PMChannel.js"),
|
||||
Server = require("../../Structures/Server.js"),
|
||||
Message = require("../../Structures/Message.js"),
|
||||
Invite = require("../../Structures/Invite.js");
|
||||
Invite = require("../../Structures/Invite.js"),
|
||||
Games = require("../../../ref/gameMap.js");
|
||||
|
||||
class Resolver {
|
||||
constructor(internal) {
|
||||
this.internal = internal;
|
||||
}
|
||||
|
||||
resolveGameID(resource) {
|
||||
if (!isNaN(resource) && parseInt(resource) % 1 === 0) {
|
||||
return resource;
|
||||
} else if (typeof resource == "string" || resource instanceof String) {
|
||||
|
||||
for (var game of Games) {
|
||||
if (game.name.toUpperCase() === resource.toUpperCase()) {
|
||||
return game.id;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
resolveToBase64(resource) {
|
||||
if (resource instanceof Buffer) {
|
||||
|
||||
Reference in New Issue
Block a user