3.9.0, chainable string modifiers

This commit is contained in:
hydrabolt
2015-10-25 19:27:43 +00:00
parent f9679879f2
commit b61c64fa48
6 changed files with 82 additions and 50 deletions

View File

@@ -35,6 +35,33 @@ mybot.login("email", "password");
```
---
### What's new in 3.9.0?
Amongst some fixes to web distribution creation, you can now opt for easier string formatting! However, it does modify String globally so you'll have to run:
```js
Discord.patchStrings()
```
After you have run this, you can do:
```
"message".bold.underline.italic
// generates "*__**message**__*"
```
A full list of modifiers (all chainable):
* bold `**`
* italic `*`
* underline `__`
* strike `~`
* code ` ` `
* codeblock` ``` `
---
### Related Projects
Here is a list of other Discord APIs:

View File

@@ -51,6 +51,12 @@ var Member = (function (_User) {
}
}
if (affectingOverwrites.length === 0 && affectingMemberOverwrites.length === 0) {
return new EvaluatedPermissions(this.evalPerms.packed);
}
var finalPacked = affectingOverwrites.length !== 0 ? affectingOverwrites[0].packed : affectingMemberOverwrites[0].packed;
for (var _iterator2 = affectingOverwrites, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
@@ -63,18 +69,13 @@ var Member = (function (_User) {
_ref2 = _i2.value;
}
var perm = _ref2;
var overwrite = _ref2;
console.log("hey", perm.attachFiles);
finalPacked = finalPacked & ~overwrite.deny;
finalPacked = finalPacked | overwrite.allow;
}
if (affectingOverwrites.length === 0 && affectingMemberOverwrites.length === 0) {
return new EvaluatedPermissions(this.evalPerms.packed);
}
var finalPacked = affectingOverwrites.length !== 0 ? affectingOverwrites[0].packed : affectingMemberOverwrites[0].packed;
for (var _iterator3 = affectingOverwrites, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
for (var _iterator3 = affectingMemberOverwrites, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) {
var _ref3;
if (_isArray3) {
@@ -92,24 +93,6 @@ var Member = (function (_User) {
finalPacked = finalPacked | overwrite.allow;
}
for (var _iterator4 = affectingMemberOverwrites, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
var _ref4;
if (_isArray4) {
if (_i4 >= _iterator4.length) break;
_ref4 = _iterator4[_i4++];
} else {
_i4 = _iterator4.next();
if (_i4.done) break;
_ref4 = _i4.value;
}
var overwrite = _ref4;
finalPacked = finalPacked & ~overwrite.deny;
finalPacked = finalPacked | overwrite.allow;
}
return new EvaluatedPermissions(finalPacked);
};
@@ -119,19 +102,19 @@ var Member = (function (_User) {
var ufRoles = [this.server.getRole(this.server.id)];
for (var _iterator5 = this.rawRoles, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
var _ref5;
for (var _iterator4 = this.rawRoles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) {
var _ref4;
if (_isArray5) {
if (_i5 >= _iterator5.length) break;
_ref5 = _iterator5[_i5++];
if (_isArray4) {
if (_i4 >= _iterator4.length) break;
_ref4 = _iterator4[_i4++];
} else {
_i5 = _iterator5.next();
if (_i5.done) break;
_ref5 = _i5.value;
_i4 = _iterator4.next();
if (_i4.done) break;
_ref4 = _i4.value;
}
var rawRole = _ref5;
var rawRole = _ref4;
ufRoles.push(this.server.getRole(rawRole));
}
@@ -145,19 +128,19 @@ var Member = (function (_User) {
//cache roles as it can be slightly expensive
basePerm = basePerms[0].packed;
for (var _iterator6 = basePerms, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) {
var _ref6;
for (var _iterator5 = basePerms, _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) {
var _ref5;
if (_isArray6) {
if (_i6 >= _iterator6.length) break;
_ref6 = _iterator6[_i6++];
if (_isArray5) {
if (_i5 >= _iterator5.length) break;
_ref5 = _iterator5[_i5++];
} else {
_i6 = _iterator6.next();
if (_i6.done) break;
_ref6 = _i6.value;
_i5 = _iterator5.next();
if (_i5.done) break;
_ref5 = _i5.value;
}
var perm = _ref6;
var perm = _ref5;
basePerm = basePerm | perm.packed;
}

View File

@@ -9,4 +9,27 @@ var Discord = {
Client: Client
};
Discord.patchStrings = function () {
defineProperty("bold", "**");
defineProperty("underline", "__");
defineProperty("strike", "~~");
defineProperty("code", "`");
defineProperty("codeblock", "```");
Object.defineProperty(String.prototype, "italic", {
get: function () {
return "*" + this + "*";
}
});
function defineProperty(name, joiner) {
Object.defineProperty(String.prototype, name, {
get: function () {
return joiner + this + joiner;
}
});
}
}
module.exports = Discord;

View File

@@ -1,6 +1,6 @@
{
"name": "discord.js",
"version": "3.8.4",
"version": "3.9.0",
"description": "A way to interface with the Discord API",
"main": "./lib/index.js",
"scripts": {

View File

@@ -52,9 +52,6 @@ class Member extends User{
}
}
for(var perm of affectingOverwrites){
console.log("hey", perm.attachFiles);
}
if(affectingOverwrites.length === 0 && affectingMemberOverwrites.length === 0){
return new EvaluatedPermissions(this.evalPerms.packed);

View File

@@ -2,6 +2,8 @@ var Discord = require("../");
var mybot = new Discord.Client();
var fs = require("fs");
Discord.patchStrings();
var server, channel, message, sentMessage = false;
counter = 1;
@@ -28,7 +30,7 @@ mybot.on("message", function (message) {
perms = JSON.parse(perms);
mybot.sendMessage(message,
JSON.stringify(perms, null, 4).replace(new RegExp("true", "g"), "**true**")
"one" + "two".italic + "three"
);
});