Finished embeds

This commit is contained in:
hydrabolt
2015-10-29 14:48:39 +00:00
parent cefbcd05af
commit 0938382e51
13 changed files with 146 additions and 28 deletions

View File

@@ -17,6 +17,7 @@ var PMChannel = require("./PMChannel.js");
var ServerPermissions = require("./ServerPermissions.js");
var gameMap = require("../ref/gameMap.json");
var Color = require("../ref/colours.js");
var Embeddable = require("./Embeds/IEmbed.js");
var zlib;
var EventEmitter = require('events');

View File

@@ -4,6 +4,22 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
var Embed = function Embed(data) {
_classCallCheck(this, Embed);
this.url = data.url;
this.type = data.type;
this.title = data.title;
this.thumbnail = data.thumbnail;
//width
//height
//url
//proxy_url
this.provider = data.provider;
//url
//name
this.description = data.description;
this.author = data.author;
//url
//name
};
module.exports = Embed;

19
lib/Embeds/IEmbed.js Normal file
View File

@@ -0,0 +1,19 @@
"use strict";
var ImageEmbed = require("./ImageEmbed.js"),
VideoEmbed = require("./VideoEmbed.js"),
LinkEmbed = require("./LinkEmbed.js");
exports.createEmbed = function (data) {
switch (data.type) {
case "image":
return new ImageEmbed(data);
break;
case "video":
return new VideoEmbed(data);
break;
case "link":
return new LinkEmbed(data);
break;
}
};

View File

@@ -13,6 +13,10 @@ var VideoEmbed = (function (_Embed) {
_classCallCheck(this, VideoEmbed);
_Embed.call(this, data);
this.video = data.video;
//width
//height
//url
}
return VideoEmbed;

View File

@@ -19,7 +19,11 @@ var Discord = {
ChannelPermissions: require("./ChannelPermissions.js"),
EvaluatedPermissiosn: require("./EvaluatedPermissions.js"),
VoiceChannel: require("./VoiceChannel.js"),
gameMap: require("../ref/gameMap.json")
gameMap: require("../ref/gameMap.json"),
Embed: require("./Embeds/Embed.js"),
LinkEmbed: require("./Embeds/LinkEmbed.js"),
VideoEmbed: require("./Embeds/VideoEmbed.js"),
ImageEmbed: require("./Embeds/ImageEmbed.js")
};
Discord.patchStrings = function () {

View File

@@ -5,6 +5,7 @@ var _createClass = (function () { function defineProperties(target, props) { for
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var PMChannel = require("./PMChannel.js");
var Embeddable = require("./Embeds/IEmbed.js");
var Message = (function () {
function Message(data, channel, mentions, author) {
@@ -16,7 +17,27 @@ var Message = (function () {
this.mentions = mentions;
this.everyoneMentioned = data.mention_everyone;
this.id = data.id;
this.embeds = data.embeds;
this.embeds = [];
if (data.embeds) {
for (var _iterator = data.embeds, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
}
var embed = _ref;
this.embeds.push(Embeddable.createEmbed(embed));
}
}
this.editedTimestamp = data.edited_timestamp;
this.content = data.content.trim();
this.channel = channel;
@@ -36,19 +57,19 @@ var Message = (function () {
Message.prototype.isMentioned = function isMentioned(user) {
var id = user.id ? user.id : user;
for (var _iterator = this.mentions, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
var _ref;
for (var _iterator2 = this.mentions, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
if (_isArray) {
if (_i >= _iterator.length) break;
_ref = _iterator[_i++];
if (_isArray2) {
if (_i2 >= _iterator2.length) break;
_ref2 = _iterator2[_i2++];
} else {
_i = _iterator.next();
if (_i.done) break;
_ref = _i.value;
_i2 = _iterator2.next();
if (_i2.done) break;
_ref2 = _i2.value;
}
var mention = _ref;
var mention = _ref2;
if (mention.id === id) {
return true;