You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Haha-Yes/event/listeners/ready.js

61 lines
2.3 KiB
JavaScript

const { Listener } = require('discord-akairo');
const { prefix, statsChannel, botID } = require('../../config.json');
const game = require('../../json/status/playing.json');
const watch = require('../../json/status/watching.json');
class ReadyListener extends Listener {
constructor() {
super('ready', {
emitter: 'client',
event: 'ready'
});
}
async exec() {
// Send stats to the console
console.log(`\x1b[32mLogged in as \x1b[34m${this.client.user.tag}\x1b[0m! (\x1b[33m${this.client.user.id}\x1b[0m)`);
console.log(`Ready to serve in \x1b[33m${this.client.channels.size}\x1b[0m channels on \x1b[33m${this.client.guilds.size}\x1b[0m servers, for a total of \x1b[33m${this.client.users.size}\x1b[0m users. \x1b${this.client.readyAt}\x1b[0m`);
//Bot status
if (Math.floor((Math.random() * 2) + 1) == 1) {
console.log('Status type: Watching');
let status = watch[Math.floor((Math.random() * watch.length))];
status = status.replace('${prefix}', prefix[0]);
this.client.user.setActivity(`${status} | My prefix is: ${prefix[0]} `, { type: 'WATCHING' });
} else {
console.log('Status type: Playing');
let status = game[Math.floor((Math.random() * game.length))];
status = status.replace('${prefix}', prefix[0]);
this.client.user.setActivity(`${status} | My prefix is: ${prefix[0]}`, { type: 'PLAYING' });
}
// Send stats to the 'stats' channel in the support server if its not the test bot
if (this.client.user.id == botID) {
const channel = this.client.channels.get(statsChannel);
channel.send(`Ready to serve in ${this.client.channels.size} channels on ${this.client.guilds.size} servers, for a total of ${this.client.users.size} users. ${this.client.readyAt}`);
}
/*
//Fetch messages in every channel ( so they can still enter starboard in case of reboot)
let array = [];
let channels = this.client.channels.array();
for (const channel of channels.values()) {
array.push(channel.id);
}
for (let i = 0; i < this.client.channels.size; i++) {
let channel = this.client.channels.get(array[i]);
if (channel.messages) {
channel.messages.fetch({ limit: 10 })
.then(messages => console.log(`Received ${messages.size} messages`))
.catch(err => console.error(err));
}
}
*/
}
}
module.exports = ReadyListener;