93 lines
3.3 KiB
JavaScript
93 lines
3.3 KiB
JavaScript
"use strict";
|
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
}) : (function(o, m, k, k2) {
|
|
if (k2 === undefined) k2 = k;
|
|
o[k2] = m[k];
|
|
}));
|
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
}) : function(o, v) {
|
|
o["default"] = v;
|
|
});
|
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
__setModuleDefault(result, mod);
|
|
return result;
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const discord_js_1 = require("discord.js");
|
|
const fs = __importStar(require("fs"));
|
|
const api_1 = require("./api");
|
|
const discord_1 = require("./discord");
|
|
const Lang = __importStar(require("./lang"));
|
|
const queue_1 = require("./queue");
|
|
const util_1 = require("./util");
|
|
const CLIENT = new discord_js_1.Client({ intents: [discord_js_1.Intents.FLAGS.GUILDS] });
|
|
//init logs with a timestamp
|
|
console.log(new Date().toISOString() + '\n\n');
|
|
//get token
|
|
if (!fs.existsSync('./token.txt')) {
|
|
fs.writeFileSync('./token.txt', '');
|
|
console.error(Lang.get('error.main.missingToken'));
|
|
process.exit(1);
|
|
}
|
|
const TOKEN = fs.readFileSync('./token.txt').toString();
|
|
//discord connections
|
|
CLIENT.on('ready', client => {
|
|
console.log(Lang.get('main.login', {
|
|
user: client.user.tag
|
|
}));
|
|
client.guilds.fetch().then(guilds => (0, discord_1.registerCommands)(TOKEN, client.user.id, guilds.map(g => g.id)));
|
|
(0, queue_1.discordInit)(client);
|
|
});
|
|
CLIENT.on('guildCreate', guild => {
|
|
if (guild.client.user)
|
|
(0, discord_1.registerCommands)(TOKEN, guild.client.user.id, guild.id);
|
|
});
|
|
CLIENT.on('interactionCreate', async (interaction) => {
|
|
if (!interaction.isCommand())
|
|
return;
|
|
try {
|
|
switch (interaction.commandName) {
|
|
//mod commands
|
|
case 'open':
|
|
await queue_1.QueueCommands.open(interaction);
|
|
break;
|
|
case 'close':
|
|
await queue_1.QueueCommands.close(interaction);
|
|
break;
|
|
//general commands
|
|
case 'queue':
|
|
await queue_1.QueueCommands.queue(interaction);
|
|
break;
|
|
case 'join':
|
|
await queue_1.QueueCommands.join(interaction);
|
|
break;
|
|
case 'leave':
|
|
await queue_1.QueueCommands.leave(interaction);
|
|
break;
|
|
case 'player':
|
|
await (0, api_1.getPlayerInteraction)(interaction);
|
|
break;
|
|
}
|
|
}
|
|
catch (e) {
|
|
if (e instanceof util_1.errorMessage) {
|
|
if (interaction.deferred || interaction.replied)
|
|
interaction.editReply(e.msg);
|
|
else
|
|
interaction.reply({
|
|
content: e.msg,
|
|
ephemeral: e.ephemeral
|
|
});
|
|
}
|
|
else
|
|
console.error(e);
|
|
}
|
|
});
|
|
CLIENT.login(TOKEN);
|