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
}