2022-06-10 16:19:47 +03:00
//@ts-check
const { MongoClient , ServerApiVersion } = require ( 'mongodb' );
const { CreateNewCollection } = require ( "../db/econ" );
async function setWelcomeChannel ( dbo , message , channelname ) {
const channel = message . guild . channels . cache . find ( ch => ch . name === channelname );
dbo . insertOne ({ welcomechannel : channel });
}
async function execute ( bot , message , args , command , Discord , mongouri , items , xp_collection ) {
const server = message . guild . id ;
const owner = message . guild . members . cache . get ( message . guild . ownerId );
if ( message . author . id != message . guild . ownerId ) {
return message . reply ( 'Only the server owner can do this!' )
}
// @ts-ignore
const client = new MongoClient ( mongouri , { useNewUrlParser : true , useUnifiedTopology : true , serverApi : ServerApiVersion . v1 });
if ( client . writeConcern || client . writeConcern ) {
client . close ();
return message . reply ( "Something went wrong with the database, please try again later and contact support if this problem persists!" );
}
//Initialize
CreateNewCollection ( message , client , server , owner . user . id );
client . connect ( err => {
if ( err ) { return console . log ( err ); }
const db = client . db ( server );
const dbo = db . collection ( 'SETUP' );
//Chose the appropriate command
command = args [ 0 ];
2022-06-10 20:48:43 +03:00
if ( command == 'welcome_channel' ) {
2022-06-10 21:19:14 +03:00
if ( args . length != 2 ) { return message . reply ( 'The command format is _!setup welcome_channel <channel name>_' ); }
2022-06-10 16:19:47 +03:00
// setWelcomeChannel(dbo, message, args[1]);
const channel = message . guild . channels . cache . find ( ch => ch . name === args [ 1 ]);
dbo . updateOne ({ welcomechannel : { $exists : true }}, { $set : { welcomechannel : ` ${ channel . id } ` }});
2022-06-10 20:48:43 +03:00
} else if ( command == 'welcome_message' ) {
2022-06-10 21:19:14 +03:00
if ( args . length < 2 ) { return message . reply ( 'The command format is _!setup welcome\\_message_\nUse _{sn}_ to insert the server name, _{un}_ to insert the user name, and _{ut}_ to insert the user tag\nExample: _!setup welcome\\_message Welcome to {sn} Sir {un}#{ut}_' ); }
let msg = "" ;
for ( let i = 1 ; i < args . length ; i ++ ) {
msg += args [ i ] + ' ' ;
}
if ( msg . length > 30 ) { return message . reply ( 'Please specify a welcome message under 30 characters!' ); }
dbo . updateOne ({ welcomemessage : { $exists : true }}, { $set : { welcomemessage : msg }})
2022-06-10 16:19:47 +03:00
}
});
client . close ();
}
module . exports = {
name : 'setup' ,
description : 'N/A' ,
execute
}