mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-11 09:03:29 +01:00
added emoji support (#503)
This commit is contained in:
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