forked from engineering/cloudservices
32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
|
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);
|
||
|
}
|
||
|
}
|
||
|
}
|