Fix Database issues & Add Dummy /setup command

This commit is contained in:
ui_creeperlv 2024-03-06 13:53:15 +05:30
parent 270c4391f1
commit 6792a45e48
3 changed files with 76 additions and 50 deletions

View File

@ -2,7 +2,7 @@
"name": "cx-oss", "name": "cx-oss",
"version": "0.0.1", "version": "0.0.1",
"description": "ConnectX Xantic", "description": "ConnectX Xantic",
"main": "index.js", "main": "src/index.js",
"scripts": { "scripts": {
"test": "nodemon src/index", "test": "nodemon src/index",
"start": "node src/index" "start": "node src/index"

View File

@ -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!');
},
};

View File

@ -6,27 +6,31 @@ const path = require('node:path');
const { MongoClient } = require("mongodb"); const { MongoClient } = require("mongodb");
const { Client, Events, GatewayIntentBits, Collection } = require('discord.js'); const { Client, Events, GatewayIntentBits, Collection } = require('discord.js');
const client = new Client({ intents: [ const client = new Client({
intents: [
GatewayIntentBits.Guilds, GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildMessages,
GatewayIntentBits.DirectMessages, GatewayIntentBits.DirectMessages,
GatewayIntentBits.MessageContent GatewayIntentBits.MessageContent
] }); ]
});
async function main(){ async function main() {
if(config.database_adapter == "mongod"){ if (config.database_adapter == "mongod") {
const mongo_client = new MongoClient(config.database_uri); const mongo_client = new MongoClient(config.database_uri);
await mongo_client.connect(); await mongo_client.connect();
console.log("Using MongoDB Connection for Database"); console.log("Using MongoDB Connection for Database");
require("../database/mongod").initMongoDBInstance(mongo_client, config , (back) => initMessageManager(back)); require("../database/mongod").initMongoDBInstance(mongo_client, config, (back) => initMessageManager(back));
}else if(config.database_adapter == "mysqld"){ } else if (config.database_adapter == "mysqld") {
} }
} }
async function initMessageManager(database){ async function initMessageManager(database) {
client.database = database;
database.build(); database.build();
} }
@ -41,12 +45,11 @@ client.once(Events.ClientReady, readyClient => {
name: `Minecraft`, name: `Minecraft`,
state: "2.0" state: "2.0"
}); });
});
const foldersPath = path.join(__dirname, 'commands'); const foldersPath = path.join(__dirname, 'commands');
const commandFolders = fs.readdirSync(foldersPath); const commandFolders = fs.readdirSync(foldersPath);
for (const folder of commandFolders) { for (const folder of commandFolders) {
const commandsPath = path.join(foldersPath, folder); const commandsPath = path.join(foldersPath, folder);
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js')); const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));
for (const file of commandFiles) { for (const file of commandFiles) {
@ -60,9 +63,9 @@ for (const folder of commandFolders) {
console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`); console.log(`[WARNING] The command at ${filePath} is missing a required "data" or "execute" property.`);
} }
} }
} }
client.on(Events.InteractionCreate, async interaction => { client.on(Events.InteractionCreate, async interaction => {
if (!interaction.isChatInputCommand()) return; if (!interaction.isChatInputCommand()) return;
const command = interaction.client.commands.get(interaction.commandName); const command = interaction.client.commands.get(interaction.commandName);
@ -82,6 +85,7 @@ client.on(Events.InteractionCreate, async interaction => {
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true }); await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
} }
} }
});
}); });
// Login to ConnectX // Login to ConnectX