import { Message } from 'eris'; import { Command } from '../class'; import { Client } from '..'; export default class Bearer extends Command { constructor(client: Client) { super(client); this.name = 'bearer'; this.description = 'Creates a new bearer token.'; this.usage = `Run ${this.client.config.prefix}bearer`; this.aliases = ['token']; this.enabled = true; } // eslint-disable-next-line consistent-return public async run(message: Message) { try { const account = await this.client.db.Account.findOne({ userID: message.author.id }); // eslint-disable-next-line no-underscore-dangle const bearer = await this.client.server.security.createBearer(account._id); const dm = await this.client.getDMChannel(message.author.id); const msg = await dm.createMessage(`__**Library of Code sp-us | Cloud Services [API]**__\n*This message will automatically be deleted in 60 seconds, copy the token and save it. You cannot recover it.*\n\n${bearer}`); message.channel.createMessage(`***${this.client.stores.emojis.success} Bearer token sent to direct messages.***`); setTimeout(() => { msg.delete(); }, 60000); } catch (error) { return this.client.util.handleError(error, message, this); } } }