mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 12:33:30 +01:00
added emoji support (#503)
This commit is contained in:
@@ -4,6 +4,7 @@ exports.__esModule = true;
|
|||||||
var Constants = {};
|
var Constants = {};
|
||||||
|
|
||||||
var API = Constants.API = "https://discordapp.com/api";
|
var API = Constants.API = "https://discordapp.com/api";
|
||||||
|
var CDN = Constants.CDN = "https://cdn.discordapp.com";
|
||||||
|
|
||||||
var Endpoints = Constants.Endpoints = {
|
var Endpoints = Constants.Endpoints = {
|
||||||
// general endpoints
|
// general endpoints
|
||||||
@@ -26,6 +27,11 @@ var Endpoints = Constants.Endpoints = {
|
|||||||
return API + "/invite/" + id;
|
return API + "/invite/" + id;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// emojis
|
||||||
|
EMOJI: function EMOJI(emojiID) {
|
||||||
|
return CDN + "/emojis/" + emojiID + ".png";
|
||||||
|
},
|
||||||
|
|
||||||
// servers
|
// servers
|
||||||
SERVERS: API + "/guilds",
|
SERVERS: API + "/guilds",
|
||||||
SERVER: function SERVER(serverID) {
|
SERVER: function SERVER(serverID) {
|
||||||
|
|||||||
58
lib/Structures/Emoji.js
Normal file
58
lib/Structures/Emoji.js
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.__esModule = true;
|
||||||
|
|
||||||
|
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"); } }
|
||||||
|
|
||||||
|
var _Constants = require("../Constants");
|
||||||
|
|
||||||
|
/* example data
|
||||||
|
{
|
||||||
|
id: '164585980739846145'
|
||||||
|
name: 'wlfSS',
|
||||||
|
roles: [ '135829612780322816' ],
|
||||||
|
require_colons: false,
|
||||||
|
managed: true,
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
var Emoji = (function () {
|
||||||
|
function Emoji(data, server) {
|
||||||
|
_classCallCheck(this, Emoji);
|
||||||
|
|
||||||
|
this.server = server;
|
||||||
|
this.id = data.id;
|
||||||
|
this.name = data.name;
|
||||||
|
this.roleList = data.roles;
|
||||||
|
this.colons = data.require_colons;
|
||||||
|
this.managed = data.managed;
|
||||||
|
}
|
||||||
|
|
||||||
|
_createClass(Emoji, [{
|
||||||
|
key: "roles",
|
||||||
|
get: function get() {
|
||||||
|
var roleGroup = [];
|
||||||
|
|
||||||
|
if (this.managed) {
|
||||||
|
for (var i = 0; i < this.roleList.length; i++) {
|
||||||
|
var roleID = this.roleList[i].toString();
|
||||||
|
var role = this.server.roles.get("id", roleID);
|
||||||
|
roleGroup.push(role);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return roleGroup;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "getURL",
|
||||||
|
get: function get() {
|
||||||
|
return _Constants.Endpoints.EMOJI(this.id);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
|
||||||
|
return Emoji;
|
||||||
|
})();
|
||||||
|
|
||||||
|
exports["default"] = Emoji;
|
||||||
|
module.exports = exports["default"];
|
||||||
@@ -45,6 +45,10 @@ var _Role = require("./Role");
|
|||||||
|
|
||||||
var _Role2 = _interopRequireDefault(_Role);
|
var _Role2 = _interopRequireDefault(_Role);
|
||||||
|
|
||||||
|
var _Emoji = require("./Emoji");
|
||||||
|
|
||||||
|
var _Emoji2 = _interopRequireDefault(_Emoji);
|
||||||
|
|
||||||
var _UtilArgumentRegulariser = require("../Util/ArgumentRegulariser");
|
var _UtilArgumentRegulariser = require("../Util/ArgumentRegulariser");
|
||||||
|
|
||||||
var strictKeys = ["region", "ownerID", "name", "id", "icon", "afkTimeout", "afkChannelID"];
|
var strictKeys = ["region", "ownerID", "name", "id", "icon", "afkTimeout", "afkChannelID"];
|
||||||
@@ -77,6 +81,7 @@ var Server = (function (_Equality) {
|
|||||||
this.members = new _UtilCache2["default"]();
|
this.members = new _UtilCache2["default"]();
|
||||||
this.channels = new _UtilCache2["default"]();
|
this.channels = new _UtilCache2["default"]();
|
||||||
this.roles = new _UtilCache2["default"]();
|
this.roles = new _UtilCache2["default"]();
|
||||||
|
this.emojis = new _UtilCache2["default"]();
|
||||||
this.icon = data.icon;
|
this.icon = data.icon;
|
||||||
this.afkTimeout = data.afk_timeout;
|
this.afkTimeout = data.afk_timeout;
|
||||||
this.afkChannelID = data.afk_channel_id || data.afkChannelID;
|
this.afkChannelID = data.afk_channel_id || data.afkChannelID;
|
||||||
@@ -94,6 +99,16 @@ var Server = (function (_Equality) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.emojis instanceof _UtilCache2["default"]) {
|
||||||
|
data.emojis.forEach(function (emoji) {
|
||||||
|
return _this.emojis.add(emoji);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
data.emojis.forEach(function (dataEmoji) {
|
||||||
|
_this.emojis.add(new _Emoji2["default"](dataEmoji, _this));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (data.members instanceof _UtilCache2["default"]) {
|
if (data.members instanceof _UtilCache2["default"]) {
|
||||||
data.members.forEach(function (member) {
|
data.members.forEach(function (member) {
|
||||||
return _this.members.add(member);
|
return _this.members.add(member);
|
||||||
|
|||||||
@@ -6,23 +6,23 @@ exports.__esModule = true;
|
|||||||
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 TokenCacher = (function () {
|
var TokenCacher = (function () {
|
||||||
function TokenCacher() {
|
function TokenCacher() {
|
||||||
_classCallCheck(this, TokenCacher);
|
_classCallCheck(this, TokenCacher);
|
||||||
}
|
}
|
||||||
|
|
||||||
TokenCacher.prototype.setToken = function setToken() {};
|
TokenCacher.prototype.setToken = function setToken() {};
|
||||||
|
|
||||||
TokenCacher.prototype.save = function save() {};
|
TokenCacher.prototype.save = function save() {};
|
||||||
|
|
||||||
TokenCacher.prototype.getToken = function getToken() {
|
TokenCacher.prototype.getToken = function getToken() {
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
||||||
TokenCacher.prototype.init = function init(ind) {
|
TokenCacher.prototype.init = function init(ind) {
|
||||||
this.done = true;
|
this.done = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
return TokenCacher;
|
return TokenCacher;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
exports["default"] = TokenCacher;
|
exports["default"] = TokenCacher;
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
const Constants = {};
|
const Constants = {};
|
||||||
|
|
||||||
const API = Constants.API = "https://discordapp.com/api";
|
const API = Constants.API = "https://discordapp.com/api";
|
||||||
|
const CDN = Constants.CDN = "https://cdn.discordapp.com";
|
||||||
|
|
||||||
const Endpoints = Constants.Endpoints = {
|
const Endpoints = Constants.Endpoints = {
|
||||||
// general endpoints
|
// general endpoints
|
||||||
@@ -17,6 +18,9 @@ const Endpoints = Constants.Endpoints = {
|
|||||||
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||||
INVITE: (id) => `${API}/invite/${id}`,
|
INVITE: (id) => `${API}/invite/${id}`,
|
||||||
|
|
||||||
|
// emojis
|
||||||
|
EMOJI: (emojiID) => `${CDN}/emojis/${emojiID}.png`,
|
||||||
|
|
||||||
// servers
|
// servers
|
||||||
SERVERS: `${API}/guilds`,
|
SERVERS: `${API}/guilds`,
|
||||||
SERVER: (serverID) => `${Endpoints.SERVERS}/${serverID}`,
|
SERVER: (serverID) => `${Endpoints.SERVERS}/${serverID}`,
|
||||||
|
|||||||
40
src/Structures/Emoji.js
Normal file
40
src/Structures/Emoji.js
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
import {Endpoints} from "../Constants";
|
||||||
|
/* example data
|
||||||
|
{
|
||||||
|
id: '164585980739846145'
|
||||||
|
name: 'wlfSS',
|
||||||
|
roles: [ '135829612780322816' ],
|
||||||
|
require_colons: false,
|
||||||
|
managed: true,
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export default class Emoji {
|
||||||
|
constructor(data, server) {
|
||||||
|
this.server = server;
|
||||||
|
this.id = data.id;
|
||||||
|
this.name = data.name;
|
||||||
|
this.roleList = data.roles;
|
||||||
|
this.colons = data.require_colons;
|
||||||
|
this.managed = data.managed;
|
||||||
|
}
|
||||||
|
|
||||||
|
get roles() {
|
||||||
|
var roleGroup = [];
|
||||||
|
|
||||||
|
if (this.managed) {
|
||||||
|
for (var i = 0; i < this.roleList.length; i++) {
|
||||||
|
var roleID = this.roleList[i].toString();
|
||||||
|
var role = this.server.roles.get("id", roleID);
|
||||||
|
roleGroup.push(role);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return roleGroup
|
||||||
|
}
|
||||||
|
|
||||||
|
get getURL() {
|
||||||
|
return Endpoints.EMOJI(this.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,6 +13,7 @@ import User from "./User";
|
|||||||
import TextChannel from "./TextChannel";
|
import TextChannel from "./TextChannel";
|
||||||
import VoiceChannel from "./VoiceChannel";
|
import VoiceChannel from "./VoiceChannel";
|
||||||
import Role from "./Role";
|
import Role from "./Role";
|
||||||
|
import Emoji from "./Emoji";
|
||||||
import {reg} from "../Util/ArgumentRegulariser";
|
import {reg} from "../Util/ArgumentRegulariser";
|
||||||
|
|
||||||
var strictKeys = [
|
var strictKeys = [
|
||||||
@@ -42,6 +43,7 @@ export default class Server extends Equality {
|
|||||||
this.members = new Cache();
|
this.members = new Cache();
|
||||||
this.channels = new Cache();
|
this.channels = new Cache();
|
||||||
this.roles = new Cache();
|
this.roles = new Cache();
|
||||||
|
this.emojis = new Cache();
|
||||||
this.icon = data.icon;
|
this.icon = data.icon;
|
||||||
this.afkTimeout = data.afk_timeout;
|
this.afkTimeout = data.afk_timeout;
|
||||||
this.afkChannelID = data.afk_channel_id || data.afkChannelID;
|
this.afkChannelID = data.afk_channel_id || data.afkChannelID;
|
||||||
@@ -57,6 +59,14 @@ export default class Server extends Equality {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.emojis instanceof Cache) {
|
||||||
|
data.emojis.forEach((emoji) => this.emojis.add(emoji));
|
||||||
|
} else {
|
||||||
|
data.emojis.forEach((dataEmoji) => {
|
||||||
|
this.emojis.add(new Emoji(dataEmoji, this));
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if (data.members instanceof Cache) {
|
if (data.members instanceof Cache) {
|
||||||
data.members.forEach((member) => this.members.add(member));
|
data.members.forEach((member) => this.members.add(member));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user