diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2017-05-11 21:18:24 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2017-05-11 21:18:31 +0200 |
| commit | f37c547a11b1102c8639219c532711b56a40103d (patch) | |
| tree | f1ffaea417084a22436a5430c9a4b2ed0fc023e9 /views | |
| parent | 01a0f341cd19247c9b3d47bf62edefcb0c1545bc (diff) | |
| download | discordbot-f37c547a11b1102c8639219c532711b56a40103d.tar.gz discordbot-f37c547a11b1102c8639219c532711b56a40103d.zip | |
add vgmember command
Diffstat (limited to 'views')
| -rw-r--r-- | views/guild.js | 7 | ||||
| -rw-r--r-- | views/guild_member.js | 35 |
2 files changed, 39 insertions, 3 deletions
diff --git a/views/guild.js b/views/guild.js index 6a8658b..91df6bb 100644 --- a/views/guild.js +++ b/views/guild.js @@ -3,20 +3,21 @@ "use strict"; const View = require("./view"), + GuildMemberView = require("./guild_member"), util = require("../util"), api = require("../api"), strings = require("../strings"), + Promise = require("bluebird"), oneLine = require("common-tags").oneLine; const GuildOverviewView = module.exports; // match detail view module.exports = class extends View { - async text(members) { + text(members) { // TODO remove when API supports order by fame members.sort((m1, m2) => m1.fame < m2.fame); - return members.map((member) => - `${member.player.name} *${member.status}* ${member.fame}`).join("\n"); + return members.map((m) => new GuildMemberView().text(m)).join("\n"); } async embed(guild) { diff --git a/views/guild_member.js b/views/guild_member.js new file mode 100644 index 0000000..d75ffe4 --- /dev/null +++ b/views/guild_member.js @@ -0,0 +1,35 @@ +#!/usr/bin/node +/* jshint esnext:true */ +"use strict"; + +const View = require("./view"), + PlayerView = require("./player"), + MatchesView = require("./matches"), + util = require("../util"), + api = require("../api"), + strings = require("../strings"), + oneLine = require("common-tags").oneLine; + +const GuildMemberView = module.exports; + +// combined fame + profile + last match +module.exports = class extends View { + text(member) { + return `${member.player.name} | ${member.status} | ${member.fame} VS Fame`; + } + + async embed(member, player, matches) { + const embed = util.vainsocialEmbed(`${member.player.name} - ${member.player.shard_id}`, + "", "vainsocial-guild-memberview") + .addField("Guild Profile", await this.text(member)) + .addField("Player Profile", await new PlayerView().text(player)) + .addField("Last Match", await new MatchesView().text(matches[0])); + return embed; + } + + async respond(member, player, matches) { + this.response = await util.respond(this.msg, + await this.embed(member, player, matches), this.response); + return this.response; + } +} |
