2018-09-07 00:24:03 +02:00
const { CommandoClient } = require ( 'discord.js-commando' ) ;
const path = require ( 'path' ) ;
2018-09-08 02:25:58 +02:00
const { activity , token } = require ( './config.json' ) ;
2018-09-07 21:28:42 +02:00
const responseObject = require ( "./reply.json" ) ;
2018-09-08 02:25:58 +02:00
const fs = require ( "fs" ) ;
2018-09-07 00:24:03 +02:00
2018-09-07 21:28:42 +02:00
// Prefix and ownerID and invite to support server
2018-09-07 00:24:03 +02:00
const client = new CommandoClient ( {
2018-09-08 00:24:01 +02:00
commandPrefix : 'haha ' ,
2018-09-07 19:07:10 +02:00
owner : '267065637183029248' ,
invite : 'https://discord.gg/SsMCsVY' ,
2018-09-07 00:24:03 +02:00
} ) ;
2018-09-07 21:28:42 +02:00
// Command groups
2018-09-07 00:24:03 +02:00
client . registry
2018-09-07 19:07:10 +02:00
. registerDefaultTypes ( )
. registerGroups ( [
2018-09-08 03:30:33 +02:00
[ 'thing' , 'some things i guess? i dont know how to name it' ] ,
2018-09-07 19:07:10 +02:00
[ 'admin' , 'Commands to make admin life easier' ] ,
[ 'owner' , 'Commands the owner can use to manage the bot' ] ,
2018-09-07 21:28:42 +02:00
[ 'fun' , 'Fun commands' ] ,
2018-09-07 19:07:10 +02:00
] )
. registerDefaultGroups ( )
. registerDefaultCommands ( )
. registerCommandsIn ( path . join ( _ _dirname , 'commands' ) ) ;
2018-09-07 21:28:42 +02:00
// Ready messages
2018-09-07 19:07:10 +02:00
client . on ( 'ready' , ( ) => {
console . log ( ` Logged in as ${ client . user . tag } ! ( ${ client . user . id } ) ` ) ;
2018-09-08 01:55:01 +02:00
console . log ( ` Ready to serve in ${ client . channels . size } channels on ${ client . guilds . size } servers, for a total of ${ client . users . size } users. ${ client . readyAt } ` ) ;
2018-09-08 02:25:58 +02:00
client . user . setActivity ( activity ) ;
2018-09-08 01:37:16 +02:00
const channel = client . channels . get ( '487766113292124160' ) ;
2018-09-08 01:55:01 +02:00
channel . send ( ` Ready to serve in ${ client . channels . size } channels on ${ client . guilds . size } servers, for a total of ${ client . users . size } users. ${ client . readyAt } ` ) ;
2018-09-07 19:07:10 +02:00
} ) ;
2018-09-07 21:28:42 +02:00
// Auto respond to messages
client . on ( "message" , ( message ) => {
if ( responseObject [ message . content ] ) {
message . channel . send ( responseObject [ message . content ] ) ;
}
} ) ;
2018-09-08 01:37:16 +02:00
2018-09-07 19:07:10 +02:00
client . on ( 'error' , console . error ) ;
2018-09-07 00:24:03 +02:00
2018-09-07 19:07:10 +02:00
client . login ( token ) ;