mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-09-02 00:31:27 +03:00
Clean up
This commit is contained in:
@@ -60,15 +60,6 @@ module.exports = async (log) => {
|
||||
return process.exit();
|
||||
}
|
||||
|
||||
/* let models = {};
|
||||
let files = fs.readdirSync(path('src/database/models/')).filter(file => file.endsWith('.js'));
|
||||
|
||||
for (let file of files) {
|
||||
let table = require(`./models/${file}`);
|
||||
let model = sequelize.define(table.name, table.model);
|
||||
models[table.name] = model;
|
||||
} */
|
||||
|
||||
const Guild = sequelize.define('Guild', {
|
||||
id: {
|
||||
type: DataTypes.CHAR(18),
|
||||
@@ -123,5 +114,5 @@ module.exports = async (log) => {
|
||||
|
||||
sequelize.sync();
|
||||
|
||||
return sequelize.models;
|
||||
return sequelize;
|
||||
};
|
31
src/index.js
31
src/index.js
@@ -22,13 +22,17 @@
|
||||
*/
|
||||
|
||||
const node_version = Number(process.versions.node.split('.')[0]);
|
||||
if (node_version < 14) return console.log(`Error: DiscordTickets does not work on Node v${node_version}. Please upgrade to v14 or above.`);
|
||||
const { version } = require('../package.json');
|
||||
if (node_version < 14)
|
||||
return console.log(`Error: DiscordTickets does not work on Node v${node_version}. Please upgrade to v14 or above.`);
|
||||
|
||||
const { version } = require('../package.json');
|
||||
const fs = require('fs');
|
||||
const { path } = require('./utils/fs');
|
||||
if (!fs.existsSync(path('./.env'))) return console.log('Please make a copy of \'example.env\' called \'.env\'');
|
||||
if (!fs.existsSync(path('./user/config.js'))) return console.log('Please make a copy of \'user/example.config.js\' called \'user/config.js\'');
|
||||
|
||||
if (!fs.existsSync(path('./.env')))
|
||||
return console.log('Please make a copy of \'example.env\' called \'.env\'');
|
||||
if (!fs.existsSync(path('./user/config.js')))
|
||||
return console.log('Please make a copy of \'user/example.config.js\' called \'user/config.js\'');
|
||||
|
||||
require('dotenv').config({
|
||||
path: path('./.env')
|
||||
@@ -82,21 +86,22 @@ class Bot extends Client {
|
||||
});
|
||||
|
||||
Object.assign(this, {
|
||||
commands: new CommandManager(this),
|
||||
config,
|
||||
db: require('./database')(log),
|
||||
db: require('./database')(log), // this.db.models.Ticket...
|
||||
log,
|
||||
i18n: new I18n(path('./src/locales'), 'en-GB')
|
||||
});
|
||||
|
||||
(async () => {
|
||||
this.listeners = require('./modules/listeners')(this);
|
||||
this.commands = new CommandManager(this);
|
||||
this.plugins = await require('./modules/plugins')(this);
|
||||
this.setMaxListeners(this.config.max_listeners);
|
||||
|
||||
this.log.info('Connecting to Discord API');
|
||||
require('./updater')(this);
|
||||
require('./modules/listeners')(this);
|
||||
require('./modules/plugins')(this);
|
||||
|
||||
this.login();
|
||||
})();
|
||||
this.log.info('Connecting to Discord API...');
|
||||
|
||||
this.login();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -105,7 +110,7 @@ new Bot();
|
||||
|
||||
process.on('unhandledRejection', error => {
|
||||
log.notice('PLEASE INCLUDE THIS INFORMATION:');
|
||||
log.warn(`Discord Tickets v${version}, Node ${process.versions.node} (${process.platform})`);
|
||||
log.warn(`Discord Tickets v${version}, Node v${process.versions.node} on ${process.platform}`);
|
||||
log.warn('An error was not caught');
|
||||
if (error instanceof Error) log.warn(`Uncaught ${error.name}: ${error}`);
|
||||
log.error(error);
|
||||
|
@@ -1,6 +1,24 @@
|
||||
module.exports = {
|
||||
event: 'ready',
|
||||
once: true,
|
||||
execute: (client) => {
|
||||
client.log.success(`Connected to Discord as "${client.user.tag}"`);
|
||||
const { log } = client;
|
||||
|
||||
log.success(`Connected to Discord as "${client.user.tag}"`);
|
||||
|
||||
/**
|
||||
* OH NO, TELEMETRY!?
|
||||
* Relax, it just counts how many people are using DiscordTickets.
|
||||
*/
|
||||
if (client.config.super_secret_setting) {
|
||||
const fetch = require('node-fetch');
|
||||
fetch(`https://discordtickets-telemetry.eartharoid.repl.co/?id=${client.user.id}`, {
|
||||
method: 'post',
|
||||
}).catch(e => {
|
||||
// fail quietly, it doesn't really matter if it didn't work
|
||||
log.debug('Failed to post to discordtickets-telemetry');
|
||||
log.debug(e);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
@@ -7,6 +7,7 @@ module.exports = client => {
|
||||
|
||||
for (const file of files) {
|
||||
const listener = require(`../listeners/${file}`);
|
||||
client.on(listener.event, (...args) => listener.execute(client, ...args));
|
||||
let on = listener.once ? 'once' : 'on';
|
||||
client[on](listener.event, (...args) => listener.execute(client, ...args));
|
||||
}
|
||||
};
|
@@ -1,4 +1,4 @@
|
||||
module.exports = async client => {
|
||||
module.exports = client => {
|
||||
client.config.plugins.forEach(plugin => {
|
||||
try {
|
||||
let package = require(`${plugin}/package.json`);
|
||||
|
35
src/updater.js
Normal file
35
src/updater.js
Normal file
@@ -0,0 +1,35 @@
|
||||
const fetch = require('node-fetch');
|
||||
const boxen = require('boxen');
|
||||
const link = require('terminal-link');
|
||||
const semver = require('semver');
|
||||
|
||||
let { version: current } = require('../package.json');
|
||||
|
||||
module.exports = async client => {
|
||||
if (!client.config.update_notice) return;
|
||||
const json = await (await fetch('https://api.github.com/repos/eartharoid/DiscordTickets/releases')).json();
|
||||
const update = json[0];
|
||||
|
||||
let latest = semver.coerce(update.tag_name);
|
||||
|
||||
if (!semver.valid(latest)) return;
|
||||
|
||||
if (semver.lt(current, latest)) {
|
||||
client.log.notice(client.log.f(`There is an update available for Discord Tickets (${current} -> ${update.tag_name})`));
|
||||
|
||||
let notice = [];
|
||||
notice.push(`&6You are currently using &c${current}&6, the latest is &a${update.tag_name}&6.`);
|
||||
notice.push(`&6Download "&f${update.name}&6" from`);
|
||||
notice.push(link('&6the GitHub releases page', 'https://github.com/eartharoid/DiscordTickets/releases/'));
|
||||
|
||||
console.log(
|
||||
boxen(client.log.f(notice.join('\n')), {
|
||||
padding: 1,
|
||||
margin: 1,
|
||||
align: 'center',
|
||||
borderColor: 'yellow',
|
||||
borderStyle: 'round'
|
||||
})
|
||||
);
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user