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!'); | ||||
| 	}, | ||||
| }; | ||||
							
								
								
									
										102
									
								
								src/index.js
								
								
								
								
							
							
						
						
									
										102
									
								
								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