Fix Database issues & Add Dummy /setup command
This commit is contained in:
parent
270c4391f1
commit
6792a45e48
|
@ -2,7 +2,7 @@
|
|||
"name": "cx-oss",
|
||||
"version": "0.0.1",
|
||||
"description": "ConnectX Xantic",
|
||||
"main": "index.js",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
"test": "nodemon src/index",
|
||||
"start": "node src/index"
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
const { SlashCommandBuilder } = require('discord.js');
|
||||
|
||||
module.exports = {
|
||||
data: new SlashCommandBuilder()
|
||||
.setName('setup')
|
||||
.addChannelOption((o) => o
|
||||
.setName("channel")
|
||||
.setDescription("Channel to Chat with Xantic")
|
||||
.setRequired(true)
|
||||
).setDescription('Setup a Discord Server'),
|
||||
/**
|
||||
*
|
||||
* @param {import('discord.js').Interaction} interaction
|
||||
*/
|
||||
async execute(interaction) {
|
||||
var channel = interaction.options.getChannel("channel");
|
||||
|
||||
console.log(channel);
|
||||
|
||||
await interaction.reply('Pong!');
|
||||
},
|
||||
};
|
100
src/index.js
100
src/index.js
|
@ -6,27 +6,31 @@ const path = require('node:path');
|
|||
const { MongoClient } = require("mongodb");
|
||||
const { Client, Events, GatewayIntentBits, Collection } = require('discord.js');
|
||||
|
||||
const client = new Client({ intents: [
|
||||
GatewayIntentBits.Guilds,
|
||||
GatewayIntentBits.GuildMessages,
|
||||
GatewayIntentBits.DirectMessages,
|
||||
GatewayIntentBits.MessageContent
|
||||
] });
|
||||
const client = new Client({
|
||||
intents: [
|
||||
GatewayIntentBits.Guilds,
|
||||
GatewayIntentBits.GuildMessages,
|
||||
GatewayIntentBits.DirectMessages,
|
||||
GatewayIntentBits.MessageContent
|
||||
]
|
||||
});
|
||||
|
||||
async function main(){
|
||||
if(config.database_adapter == "mongod"){
|
||||
async function main() {
|
||||
if (config.database_adapter == "mongod") {
|
||||
const mongo_client = new MongoClient(config.database_uri);
|
||||
|
||||
await mongo_client.connect();
|
||||
console.log("Using MongoDB Connection for Database");
|
||||
|
||||
require("../database/mongod").initMongoDBInstance(mongo_client, config , (back) => initMessageManager(back));
|
||||
}else if(config.database_adapter == "mysqld"){
|
||||
require("../database/mongod").initMongoDBInstance(mongo_client, config, (back) => initMessageManager(back));
|
||||
} else if (config.database_adapter == "mysqld") {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
async function initMessageManager(database){
|
||||
async function initMessageManager(database) {
|
||||
client.database = database;
|
||||
|
||||
database.build();
|
||||
}
|
||||
|
||||
|
@ -37,51 +41,51 @@ client.once(Events.ClientReady, readyClient => {
|
|||
|
||||
main();
|
||||
|
||||
client.user.setActivity({
|
||||
name: `Minecraft`,
|
||||
state: "2.0"
|
||||
});
|
||||
});
|
||||
client.user.setActivity({
|
||||
name: `Minecraft`,
|
||||
state: "2.0"
|
||||
});
|
||||
|
||||
const foldersPath = path.join(__dirname, 'commands');
|
||||
const commandFolders = fs.readdirSync(foldersPath);
|
||||
const foldersPath = path.join(__dirname, 'commands');
|
||||
const commandFolders = fs.readdirSync(foldersPath);
|
||||
|
||||
for (const folder of commandFolders) {
|
||||
const commandsPath = path.join(foldersPath, folder);
|
||||
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
|
||||
for (const file of commandFiles) {
|
||||
const filePath = path.join(commandsPath, file);
|
||||
const command = require(filePath);
|
||||
// Set a new item in the Collection with the key as the command name and the value as the exported module
|
||||
if ('data' in command && 'execute' in command) {
|
||||
client.commands.set(command.data.name, command);
|
||||
console.log("Loaded /" + command.data.name);
|
||||
} else {
|
||||
console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`);
|
||||
for (const folder of commandFolders) {
|
||||
const commandsPath = path.join(foldersPath, folder);
|
||||
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
|
||||
for (const file of commandFiles) {
|
||||
const filePath = path.join(commandsPath, file);
|
||||
const command = require(filePath);
|
||||
// Set a new item in the Collection with the key as the command name and the value as the exported module
|
||||
if ('data' in command && 'execute' in command) {
|
||||
client.commands.set(command.data.name, command);
|
||||
console.log("Loaded /" + command.data.name);
|
||||
} else {
|
||||
console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
client.on(Events.InteractionCreate, async interaction => {
|
||||
if (!interaction.isChatInputCommand()) return;
|
||||
client.on(Events.InteractionCreate, async interaction => {
|
||||
if (!interaction.isChatInputCommand()) return;
|
||||
|
||||
const command = interaction.client.commands.get(interaction.commandName);
|
||||
const command = interaction.client.commands.get(interaction.commandName);
|
||||
|
||||
if (!command) {
|
||||
console.error(`No command matching ${interaction.commandName} was found.`);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
await command.execute(interaction);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
if (interaction.replied || interaction.deferred) {
|
||||
await interaction.followUp({ content: 'There was an error while executing this command!', ephemeral: true });
|
||||
} else {
|
||||
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
|
||||
if (!command) {
|
||||
console.error(`No command matching ${interaction.commandName} was found.`);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
await command.execute(interaction);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
if (interaction.replied || interaction.deferred) {
|
||||
await interaction.followUp({ content: 'There was an error while executing this command!', ephemeral: true });
|
||||
} else {
|
||||
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Login to ConnectX
|
||||
|
|
Loading…
Reference in New Issue