mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
added emoji support (#503)
This commit is contained in:
@@ -4,6 +4,7 @@ exports.__esModule = true;
|
||||
var Constants = {};
|
||||
|
||||
var API = Constants.API = "https://discordapp.com/api";
|
||||
var CDN = Constants.CDN = "https://cdn.discordapp.com";
|
||||
|
||||
var Endpoints = Constants.Endpoints = {
|
||||
// general endpoints
|
||||
@@ -26,6 +27,11 @@ var Endpoints = Constants.Endpoints = {
|
||||
return API + "/invite/" + id;
|
||||
},
|
||||
|
||||
// emojis
|
||||
EMOJI: function EMOJI(emojiID) {
|
||||
return CDN + "/emojis/" + emojiID + ".png";
|
||||
},
|
||||
|
||||
// servers
|
||||
SERVERS: API + "/guilds",
|
||||
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 _Emoji = require("./Emoji");
|
||||
|
||||
var _Emoji2 = _interopRequireDefault(_Emoji);
|
||||
|
||||
var _UtilArgumentRegulariser = require("../Util/ArgumentRegulariser");
|
||||
|
||||
var strictKeys = ["region", "ownerID", "name", "id", "icon", "afkTimeout", "afkChannelID"];
|
||||
@@ -77,6 +81,7 @@ var Server = (function (_Equality) {
|
||||
this.members = new _UtilCache2["default"]();
|
||||
this.channels = new _UtilCache2["default"]();
|
||||
this.roles = new _UtilCache2["default"]();
|
||||
this.emojis = new _UtilCache2["default"]();
|
||||
this.icon = data.icon;
|
||||
this.afkTimeout = data.afk_timeout;
|
||||
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"]) {
|
||||
data.members.forEach(function (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"); } }
|
||||
|
||||
var TokenCacher = (function () {
|
||||
function TokenCacher() {
|
||||
_classCallCheck(this, TokenCacher);
|
||||
}
|
||||
function 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() {
|
||||
return null;
|
||||
};
|
||||
TokenCacher.prototype.getToken = function getToken() {
|
||||
return null;
|
||||
};
|
||||
|
||||
TokenCacher.prototype.init = function init(ind) {
|
||||
this.done = true;
|
||||
};
|
||||
TokenCacher.prototype.init = function init(ind) {
|
||||
this.done = true;
|
||||
};
|
||||
|
||||
return TokenCacher;
|
||||
return TokenCacher;
|
||||
})();
|
||||
|
||||
exports["default"] = TokenCacher;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
const Constants = {};
|
||||
|
||||
const API = Constants.API = "https://discordapp.com/api";
|
||||
const CDN = Constants.CDN = "https://cdn.discordapp.com";
|
||||
|
||||
const Endpoints = Constants.Endpoints = {
|
||||
// general endpoints
|
||||
@@ -17,6 +18,9 @@ const Endpoints = Constants.Endpoints = {
|
||||
AVATAR : (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||
INVITE: (id) => `${API}/invite/${id}`,
|
||||
|
||||
// emojis
|
||||
EMOJI: (emojiID) => `${CDN}/emojis/${emojiID}.png`,
|
||||
|
||||
// servers
|
||||
SERVERS: `${API}/guilds`,
|
||||
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 VoiceChannel from "./VoiceChannel";
|
||||
import Role from "./Role";
|
||||
import Emoji from "./Emoji";
|
||||
import {reg} from "../Util/ArgumentRegulariser";
|
||||
|
||||
var strictKeys = [
|
||||
@@ -42,6 +43,7 @@ export default class Server extends Equality {
|
||||
this.members = new Cache();
|
||||
this.channels = new Cache();
|
||||
this.roles = new Cache();
|
||||
this.emojis = new Cache();
|
||||
this.icon = data.icon;
|
||||
this.afkTimeout = data.afk_timeout;
|
||||
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) {
|
||||
data.members.forEach((member) => this.members.add(member));
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user