Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require('discord.js');
- const fs = require('fs');
- require('dotenv/config');
- const client = new Discord.Client();
- client.commands = new Discord.Collection();
- //import settings
- let prefix;
- const owner = process.env.OWNER;
- const token = process.env.TOKEN;
- //initialise database (firebase)
- const firebase = require('firebase/app');
- const FieldValue = require('firebase-admin').firestore.FieldValue;
- const admin = require('firebase-admin');
- const serviceAccount = require('./serviceAccount.json');
- admin.initializeApp({
- credential: admin.credential.cert(serviceAccount)
- })
- let db = admin.firestore();
- fs.readdir('./commands', (err,files) => {
- if (err) {
- console.log(err);
- }
- let cmdFiles = files.filter(f => f.split(".").pop() === "js");
- if (cmdFiles.length === 0){
- console.log("No files found");
- return;
- }
- cmdFiles.forEach((f,i) => {
- let props = require(`./commands/${f}`);
- console.log(`${i+1}: ${f} loaded`);
- client.commands.set(props.help.name, props);
- })
- })
- client.on('ready', async () => {
- console.log(`${client.user.username} is online! Prefix = ${prefix}`);
- client.user.setActivity('@Matti3939#0121', { type: 'LISTENING' });
- });
- client.on('message',msg => {
- db.collection('guilds').doc(msg.guild.id).get().then((q) => {
- if (q.exist){
- prefix = q.data().prefix;
- }
- }).then(() => {
- if (msg.channel.type === "dm") return;
- if (msg.author.client) return;
- let msg_array = msg.content.split(" ");
- let command = msg_array[0];
- let args = msg_array.slice(1);
- if (!command.startsWith(prefix)) return;
- if (client.commands.get(command.slice(prefix.length))){
- let cmd = client.commands.get(command.slice(prefix.length));
- if (cmd){
- cmd.run(client,msg,args,db);
- }
- }
- })
- });
- client.on('guildCreate', async gData => {
- db.collection('guilds').doc(gData.id).set({
- 'guildID' : gData.id,
- 'guildname' : gData.name,
- 'guildOwner' : gData.owner.user.username,
- 'guildOwnerID' : gData.owner.id,
- 'guildMemberCount' : gData.memberCount,
- 'prefix' : '<',
- });
- });
- client.login(token);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement