Advertisement
Guest User

bot.js

a guest
Jan 16th, 2019
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require('discord.js');
  2. const fs = require('fs');
  3. const { Util } = require("discord.js");
  4.  
  5. const { promisify } = require("util");
  6. const readdir = promisify(require("fs").readdir);
  7. const { token } = require('./config.js');
  8. const prefixes = require('./jsons/prefixes.json');
  9. const snekfetch = require("snekfetch");
  10.  
  11. const client = new Discord.Client();
  12. const DBL = require("dblapi.js");
  13. const dbl = new DBL('token', client);
  14.  
  15. // Optional events
  16. dbl.on('posted', () => {
  17.   console.log('Discord bot Server count posted!');
  18. })
  19.  
  20. dbl.on('error', e => {
  21.  console.log(`Oops! ${e}`);
  22. }, 60000);
  23.  
  24.  
  25.  
  26.  
  27.  
  28. //pinger
  29. const http = require('http');
  30. const express = require('express');
  31. const app = express();
  32. app.get("/", (request, response) => {
  33.    
  34.   response.sendStatus(200);
  35. });
  36. app.listen(process.env.PORT);
  37. setInterval(() => {
  38.   http.get(`http://${process.env.PROJECT_DOMAIN}.glitch.me/`);
  39. }, 60000);
  40. //pings every minute
  41.  
  42.  
  43.  
  44. const queue = new Map();
  45.  
  46.  
  47. client.commands = new Discord.Collection();
  48. client.aliases = new Discord.Collection();
  49.  
  50. fs.readdir("./commands/", (err, files) => {
  51.   if(err)console.log(err);
  52. let jsFiles = files.filter(file => file.split(".").pop() === "js");
  53.   if(jsFiles.length <= 0){
  54.   return console.log("no commands found");
  55.   }
  56.   jsFiles.forEach(f => {
  57.     let props = require(`./commands/${f}`);
  58.     client.commands.set(props.help.name, props);
  59.     client.aliases.set(props.help.alias, props);
  60.   });
  61.   console.log(`loaded ${client.commands.size} commands and ${client.aliases.size} aliases`);
  62. });
  63.  
  64. const activities_list = [
  65.     `${client.guilds.size} servers & ${client.users.size} users!`,
  66.     'Made by Erik and Bal',
  67.     "The Programing Palce ❤️",
  68.     "Find server prefix by doing ~>prefix",
  69.     "Get info by ping'ing me."
  70.     ];
  71.  
  72. client.on('ready', () => {
  73.     setInterval(() => {
  74.         const index = Math.floor(Math.random() * (activities_list.length - 1) + 1); // generates a random number between 1 and the length of the activities array list (in this case 5).
  75.         client.user.setActivity(activities_list[index],{
  76.         type: "STREAMING",
  77.         url: "https://twitch.tv/erik2790"
  78.         }); // sets bot's activities to one of the phrases in the arraylist.
  79.     }, 10000); // Runs this every 10 seconds.
  80. });
  81.  
  82. client.on('message', (message) => {
  83.  
  84. if(!prefixes[message.guild.id]){
  85. prefixes[message.guild.id] = {
  86. prefixes: "~>"
  87.  }
  88. }
  89.  
  90.  
  91.   const prefix = prefixes[message.guild.id].prefixes;
  92.     if(message.content ==="<@445455036429107201>") message.channel.send("The prefix is  ``"+ prefix +"``. Please notice you cant ping me to use a command.");
  93.   if(message.author.bot)return;
  94.   if(message.content === "~>prefix") return message.channel.send('The prefix for this server is: ``'+ prefix +'``');
  95.  
  96.    if(!message.content.startsWith(prefix)) return;//anti non comand messages
  97.  
  98.     let messageArray = message.content.split(" ");
  99.   let cmd = messageArray[0];
  100.   let args = messageArray.slice(1);
  101.  
  102.  let commandfile = client.commands.get(cmd.slice(prefix.length));
  103.   let alias = client.aliases.get(cmd.slice(prefix.length));
  104.   if(commandfile){
  105.       commandfile.run(client,message,args);
  106.   }
  107.   if(alias){
  108.       alias.run(client,message,args);
  109.   }
  110.  
  111. });
  112. client.login(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement