summaryrefslogtreecommitdiff
path: root/views/guild.js
blob: 6a8658b01b9bf90eb59d6a63feee50dc960f9972 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/node
/* jshint esnext:true */
"use strict";

const View = require("./view"),
    util = require("../util"),
    api = require("../api"),
    strings = require("../strings"),
    oneLine = require("common-tags").oneLine;

const GuildOverviewView = module.exports;

// match detail view
module.exports = class extends View {
    async 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");
    }

    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;
    }
}