Files
xiao/structures/Client.js
T
2020-04-11 11:55:26 -04:00

30 lines
1.2 KiB
JavaScript

const { CommandoClient } = require('discord.js-commando');
const { WebhookClient } = require('discord.js');
const DBL = require('dblapi.js');
const Collection = require('@discordjs/collection');
const winston = require('winston');
const PokemonStore = require('./pokemon/PokemonStore');
const MemePoster = require('./MemePoster');
const { XIAO_WEBHOOK_ID, XIAO_WEBHOOK_TOKEN, BOT_LIST_GUILDS, TOP_GG_TOKEN } = process.env;
module.exports = class XiaoClient extends CommandoClient {
constructor(options) {
super(options);
this.botListGuilds = BOT_LIST_GUILDS ? BOT_LIST_GUILDS.split(',') : [];
this.logger = winston.createLogger({
transports: [new winston.transports.Console()],
format: winston.format.combine(
winston.format.timestamp({ format: 'MM/DD/YYYY HH:mm:ss' }),
winston.format.printf(log => `[${log.timestamp}] [${log.level.toUpperCase()}]: ${log.message}`)
)
});
this.webhook = new WebhookClient(XIAO_WEBHOOK_ID, XIAO_WEBHOOK_TOKEN, { disableEveryone: true });
this.pokemon = new PokemonStore();
this.memePoster = new MemePoster(this);
this.dbl = TOP_GG_TOKEN ? new DBL(TOP_GG_TOKEN, this) : null;
this.games = new Collection();
this.phone = new Collection();
}
};