summaryrefslogtreecommitdiff
path: root/views/guild.js
diff options
context:
space:
mode:
Diffstat (limited to 'views/guild.js')
-rw-r--r--views/guild.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/views/guild.js b/views/guild.js
new file mode 100644
index 0000000..15863b0
--- /dev/null
+++ b/views/guild.js
@@ -0,0 +1,35 @@
+#!/usr/bin/node
+/* jshint esnext:true */
+"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 {
+ text(members) {
+ // TODO remove when API supports server side sort
+ return members.sort((m1, m2) => m1.fame < m2.fame).map((m) =>
+ new GuildMemberView().text(m)).join("\n");
+ }
+
+ async embed(guild) {
+ const embed = util.vainsocialEmbed(`${guild.name} - ${guild.shard_id}`,
+ "", "vainsocial-guild-view")
+ .setDescription(await this.text(guild.members));
+ return embed;
+ }
+
+ async respond(guild, extra="") {
+ this.response = await util.respond(this.msg,
+ await this.embed(guild), this.response);
+ return this.response;
+ }
+}