Advertisement
Guest User

Untitled

a guest
May 26th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  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('582269482815324169')
  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%22%7D"});
  147. }, 10000);
  148. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement