diff --git a/docs/docs_channel.rst b/docs/docs_channel.rst index 1303afdc1..1b412f7bd 100644 --- a/docs/docs_channel.rst +++ b/docs/docs_channel.rst @@ -27,6 +27,11 @@ isPrivate Indicates whether the channel is PM channel, is `Boolean`. +createdAt +~~~~~~~~~ + +A `Date` referring to when the channel was created. + -------- Functions diff --git a/docs/docs_role.rst b/docs/docs_role.rst index 4b1a7c552..b3b01861e 100644 --- a/docs/docs_role.rst +++ b/docs/docs_role.rst @@ -50,6 +50,11 @@ client The Client_ that cached the role. +createdAt +~~~~~~~~~ + +A `Date` referring to when the role was created. + Functions --------- diff --git a/docs/docs_server.rst b/docs/docs_server.rst index 805f23704..bcd365476 100644 --- a/docs/docs_server.rst +++ b/docs/docs_server.rst @@ -79,6 +79,11 @@ iconURL The URL of the Server's icon. If the server doesn't have an icon, this will be null. +createdAt +~~~~~~~~~ + +A `Date` referring to when the server was created. + Functions --------- diff --git a/docs/docs_user.rst b/docs/docs_user.rst index fe3fcef71..2ec5253b0 100644 --- a/docs/docs_user.rst +++ b/docs/docs_user.rst @@ -82,6 +82,11 @@ voiceChannel The VoiceChannel_ the user is connected to. If they aren't in any voice channels, this will be ``null``. +createdAt +~~~~~~~~~ + +A `Date` referring to when the user was created. + Functions --------- diff --git a/lib/Structures/Channel.js b/lib/Structures/Channel.js index 627e4095b..7f3980cec 100644 --- a/lib/Structures/Channel.js +++ b/lib/Structures/Channel.js @@ -32,6 +32,11 @@ var Channel = (function (_Equality) { }; _createClass(Channel, [{ + key: "createdAt", + get: function get() { + return new Date(+this.id / 4194304 + 1420070400000); + } + }, { key: "isPrivate", get: function get() { return !this.server; diff --git a/lib/Structures/Role.js b/lib/Structures/Role.js index 07d6539ad..468d52af7 100644 --- a/lib/Structures/Role.js +++ b/lib/Structures/Role.js @@ -1,6 +1,8 @@ "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"); @@ -175,6 +177,13 @@ var Role = (function () { return this.mention(); }; + _createClass(Role, [{ + key: "createdAt", + get: function get() { + return new Date(+this.id / 4194304 + 1420070400000); + } + }]); + return Role; })(); diff --git a/lib/Structures/Server.js b/lib/Structures/Server.js index 5694ddb69..1ec99722a 100644 --- a/lib/Structures/Server.js +++ b/lib/Structures/Server.js @@ -375,6 +375,11 @@ var Server = (function (_Equality) { }; _createClass(Server, [{ + key: "createdAt", + get: function get() { + return new Date(+this.id / 4194304 + 1420070400000); + } + }, { key: "iconURL", get: function get() { if (!this.icon) { diff --git a/lib/Structures/User.js b/lib/Structures/User.js index b698d4901..ac25dbe7f 100644 --- a/lib/Structures/User.js +++ b/lib/Structures/User.js @@ -102,6 +102,11 @@ var User = (function (_Equality) { }; _createClass(User, [{ + key: "createdAt", + get: function get() { + return new Date(+this.id / 4194304 + 1420070400000); + } + }, { key: "avatarURL", get: function get() { if (!this.avatar) { diff --git a/src/Structures/Channel.js b/src/Structures/Channel.js index c8c5311ac..d8a69d6f1 100644 --- a/src/Structures/Channel.js +++ b/src/Structures/Channel.js @@ -4,13 +4,16 @@ import Equality from "../Util/Equality"; import {reg} from "../Util/ArgumentRegulariser"; export default class Channel extends Equality { - constructor(data, client){ super(); this.id = data.id; this.client = client; } + get createdAt() { + return new Date((+this.id / 4194304) + 1420070400000); + } + get isPrivate() { return !this.server; } diff --git a/src/Structures/Role.js b/src/Structures/Role.js index 12b783ff3..dbb3c26fe 100644 --- a/src/Structures/Role.js +++ b/src/Structures/Role.js @@ -43,6 +43,10 @@ export default class Role { this.mentionable = data.mentionable || false; } + get createdAt() { + return new Date((+this.id / 4194304) + 1420070400000); + } + serialise(explicit){ var hp = (perm) => this.hasPermission(perm, explicit); diff --git a/src/Structures/Server.js b/src/Structures/Server.js index 197005b01..44698fa2f 100644 --- a/src/Structures/Server.js +++ b/src/Structures/Server.js @@ -106,6 +106,10 @@ export default class Server extends Equality { } } + get createdAt() { + return new Date((+this.id / 4194304) + 1420070400000); + } + detailsOf(user) { user = this.client.internal.resolver.resolveUser(user); if (user) { diff --git a/src/Structures/User.js b/src/Structures/User.js index 907f1f4cc..07a3421c1 100644 --- a/src/Structures/User.js +++ b/src/Structures/User.js @@ -23,6 +23,10 @@ export default class User extends Equality{ this.voiceState = {}; } + get createdAt() { + return new Date((+this.id / 4194304) + 1420070400000); + } + get avatarURL(){ if(!this.avatar){ return null;