Add splash banner and spinner progress for initial connection

This commit is contained in:
Max Isom 2021-12-13 20:11:14 -05:00
parent fa4ba0bb9a
commit ffc8493ea3
No known key found for this signature in database
GPG key ID: 25C9B1A7F6798880
5 changed files with 169 additions and 9 deletions

View file

@ -1,5 +1,6 @@
import {Client, Message, Collection} from 'discord.js';
import {inject, injectable} from 'inversify';
import ora from 'ora';
import {TYPES} from './types.js';
import {Settings, Shortcut} from './models/index.js';
import container from './inversify.config.js';
@ -96,9 +97,12 @@ export default class {
}
});
this.client.on('ready', async () => {
const spinner = ora('📡 connecting to Discord...').start();
this.client.on('ready', () => {
debug(generateDependencyReport());
console.log(`Ready! Invite the bot with https://discordapp.com/oauth2/authorize?client_id=${this.client.user?.id ?? ''}&scope=bot&permissions=36752448`);
spinner.succeed(`Ready! Invite the bot with https://discordapp.com/oauth2/authorize?client_id=${this.client.user?.id ?? ''}&scope=bot&permissions=36752448`);
});
this.client.on('error', console.error);

View file

@ -1,15 +1,28 @@
import makeDir from 'make-dir';
import path from 'path';
import {makeLines} from 'nodesplash';
import container from './inversify.config.js';
import {TYPES} from './types.js';
import Bot from './bot.js';
import {sequelize} from './utils/db.js';
import Config from './services/config.js';
import FileCacheProvider from './services/file-cache.js';
import metadata from '../package.json';
const bot = container.get<Bot>(TYPES.Bot);
(async () => {
// Banner
console.log(makeLines({
user: 'codetheweb',
repository: 'muse',
version: metadata.version,
paypalUser: 'codetheweb',
githubSponsor: 'codetheweb',
madeByPrefix: 'Made with 🎶 by ',
}).join('\n'));
console.log('\n');
// Create data directories if necessary
const config = container.get<Config>(TYPES.Config);