import { Client, Event } from '../class';

export default class Ready extends Event {
  public client: Client;

  constructor(client: Client) {
    super(client);
    this.event = 'ready';
  }

  public async run() {
    await this.client.loadIntervals();
    this.client.util.signale.start(`${this.client.user.username} is now ready!\nServers: ${this.client.guilds.size}\nUsers: ${this.client.users.size}\n\nhttps://gitlab.libraryofcode.org/engineering/communityrelations`);
    this.client.on('error', (err) => {
      this.client.util.handleError(err);
    });
    process.on('uncaughtException', (err) => {
      this.client.util.handleError(err);
      process.exit(1);
    });
    process.on('unhandledRejection', (err: Error) => {
      this.client.util.handleError(err);
    });
  }
}
