Advertisement
Guest User

Untitled

a guest
May 26th, 2019
398
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const Discord = require('discord.js');
  2. const bot = new Discord.Client();
  3. bot.commands = new Discord.Collection();
  4. const fs = require('fs');
  5. bot.mutes = require('./mutes.json');
  6. let config = require('./botconfig.json');
  7. let token = config.token;
  8. let prefix = config.prefix;
  9. let profile = require('./profile.json');
  10. const rainbowconfig =  require('./config.json');
  11.  
  12. const size    = rainbowconfig.colors;
  13. const rainbow =  new Array(size);
  14.  
  15. for( var i= 0; i< size; i++) {
  16.   var red =  sin_to_hex(i, 0  *  Math.PI *  2 / 3 );
  17.   var blue =  sin_to_hex(i, 1  *  Math.PI *  2 / 3 );
  18.   var green =  sin_to_hex(i, 2  *  Math.PI *  2 / 3 );
  19.  
  20.  rainbow[i] =  ' # ' +  red +  green +  blue;
  21. }
  22.  
  23. function sin_to_hex(i, phase) {
  24.   var sin =  Math.sin(Math.PI /  size *  2  *  i +  phase);
  25.   var int =  Math.floor(sin *  127) +  128;
  26.   var hex = int.toString(16);
  27.  
  28.   return hex.length  ===  1  ? '0' + hex :  hex;
  29. }
  30.  
  31. let place =  0;
  32. const servers = rainbowconfig.servers;
  33.  
  34. function changeColor() {
  35.   for(let index =  0; index <  servers.length; ++ index) {
  36.     bot.guilds.get(servers[index]).roles.find(role => role.name === rainbowconfig.roleName).setColor(rainbow[place])
  37.  .catch(console.error);
  38.        
  39.     if(rainbowconfig.logging){
  40.       console.log (`[ColorChanger] изменил цвет на ${ rainbow[place] } в server: ${ servers[index] } `);
  41.     }
  42.     if(place ==  (size - 1)){
  43.  place =  0;
  44.  } else{
  45.  place++;
  46.     }
  47.   }
  48. }
  49.  
  50. fs.readdir('./cmds/',(err,files)=>{
  51.     if(err) console.log(err);
  52.     let jsfiles = files.filter(f => f.split(".").pop() === "js");
  53.     if(jsfiles.length <=0) console.log("Нет комманд для загрузки!!");
  54.     console.log(`Загружено ${jsfiles.length} комманд`);
  55.     jsfiles.forEach((f,i) =>{
  56.         let props = require(`./cmds/${f}`);
  57.         console.log(`${i+1}.${f} Загружен!`);
  58.         bot.commands.set(props.help.name,props);
  59.     });
  60. });
  61.  
  62. bot.on('ready', () => {
  63.     console.log(`Запустился бот ${bot.user.username}`);
  64.     bot.generateInvite(["ADMINISTRATOR"]).then(link =>{
  65.         console.log(link);
  66.     });
  67.     if(rainbowconfig.speed < 100){console.log("The minimum speed is 60.000, if this gets abused your bot might get IP-banned"); }
  68.     bot.setInterval(() => {
  69.         changeColor();
  70.         }, rainbowconfig.speed);
  71.     bot.setInterval(()=>{
  72.         for(let i in bot.mutes){
  73.             let time = bot.mutes[i].time;
  74.             let guildid = bot.mutes[i].guild;
  75.             let guild = bot.guilds.get(guildid);
  76.             let member = guild.members.get(i);
  77.             let muteRole = member.guild.roles.find(r => r.name === "Muted");
  78.             if(!muteRole) continue;
  79.  
  80.             if(Date.now()>= time){
  81.                 member.removeRole(muteRole);
  82.                 delete bot.mutes[i];
  83.                 fs.writeFile('./mutes.json',JSON.stringify(bot.mutes),(err)=>{
  84.                     if(err) console.log(err);
  85.                 });
  86.             }
  87.         }
  88.  
  89.     },5000)
  90.  
  91. });
  92.  
  93. bot.on('message', async message => {
  94.     if(message.author.bot) return;
  95.     if(message.channel.type == "dm") return;
  96.     let uid = message.author.id;
  97.     bot.send = function (msg){
  98.         message.channel.send(msg);
  99.     };
  100.     if(!profile[uid]){
  101.         profile[uid] ={
  102.             coins:10,
  103.             warns:0,
  104.             xp:0,
  105.             lvl:1,
  106.         };
  107.     };
  108.     let u = profile[uid];
  109.  
  110.     u.coins++;
  111.     u.xp++;
  112.  
  113.     if(u.xp>= (u.lvl * 5)){
  114.         u.xp = 0;
  115.         u.lvl += 1;
  116.     };
  117.  
  118.  
  119.     fs.writeFile('./profile.json',JSON.stringify(profile),(err)=>{
  120.         if(err) console.log(err);
  121.     });
  122.  
  123.     let messageArray = message.content.split(" ");
  124.     let command = messageArray[0].toLowerCase();
  125.     let args = messageArray.slice(1);
  126.     if(!message.content.startsWith(prefix)) return;
  127.     let cmd = bot.commands.get(command.slice(prefix.length));
  128.     if(cmd) cmd.run(bot,message,args);
  129.     bot.rUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
  130.     bot.uId = message.author.id;
  131.  
  132.     bot.on('guildMemberAdd', member => {
  133.         var channel = member.guild.channels.get('567993549719863296')
  134.         channel.send(`Добро пожаловать на сервер, ${member}!`)
  135.     })
  136. });
  137. const activities_list = [
  138.     "Minecraft",
  139.     "Minecraft",
  140.     "Minecraft"
  141. ];
  142. bot.on('ready', () => {
  143.     bot.user.setStatus('available')
  144.     setInterval(() => {
  145.         const index = Math.floor(Math.random() * (activities_list.length - 1) + 1);
  146.         bot.user.setActivity(`Minecraft`, {type: "STREAMING", url:"https://www.twitch.tv/windlertv"});
  147.     }, 10000);
  148. });  
  149.  
  150. bot.login("");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement