Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.46 KB | None | 0 0
  1. const Discord = require("discord.js");
  2. const client = new Discord.Client();
  3. const config = require("./config.json");
  4. const token = process.env.TOKEN
  5.  
  6. client.on("ready", () => {
  7. console.log(`Bot has started, with ${client.users.size} users, in ${client.channels.size} channels of ${client.guilds.size} guilds.`);
  8. client.user.setActivity(`rb!help`, { type : 'STREAMING', url: 'https://twitch.tv/romanvoyoutube'}).catch(console.error);
  9. });
  10.  
  11. client.on("guildCreate", guild => {
  12. console.log(`New guild joined: ${guild.name} (id, ${guild.id}). This guild has ${guild.memberCount} members!`);
  13. client.user.setActivity(`rb!help`, { type : 'STREAMING', url: 'https://twitch.tv/romanvoyoutube'}).catch(console.error);
  14. });
  15.  
  16. client.on("guildDelete", guild => {
  17.  
  18. console.log(`I have been removed from: ${guild.name} (id: ${guild.id})`);
  19. client.user.setActivity(`rb!help`, { type : 'STREAMING', url: 'https://twitch.tv/romanvoyoutube'}).catch(console.error);
  20. });
  21.  
  22. client.on('guildMemberAdd', (member) => {
  23. let embed = new Discord.RichEmbed()
  24. .setAuthor("R𝕒i𝕟b𝕠w#1111", "https://i.imgur.com/vM67SRdh.jpg")
  25. .setTitle('Добро пожаловать на Rainbow`s Server!')
  26. .setDescription('Rainbow`s Server — это стремительно развивающийся сервер Discord')
  27. .addField('Информация о сервере', `Основной аудиторией которого являются игроки абсолютно всех жанров игр. На сервере всегда можно поискать напарника по другим игровым дисциплинам.\n Обязательно прочитай <#390193321315926017>. \n **Мы рады, что ты зашел к нам** \n По вопросам обращайся к Главному Администратору, Главному модератору или Модератору\n\nЧеловек на сервере: **${member.guild.memberCount}**\n`)
  28. .setColor('00ff00')
  29. .setFooter('Rainbow`s server 🌈 Welcome!');
  30.  
  31. member.send({embed});
  32.  
  33. })
  34.  
  35. client.on('guildMemberAdd', (member) => {
  36. let embed = new Discord.RichEmbed()
  37. .setTitle(`Новый участник сервера`)
  38. .setDescription(`К серверу присоединился ${member.user.tag}, `)
  39. .setColor('#800080')
  40. .setFooter(`Rainbow's server 🌈 Welcome!`)
  41. .setThumbnail(`https://media.giphy.com/media/dIL9AEkMQel0QLIjRR/giphy.gif`);
  42.  
  43. client.channels.get('400010351518941195').send({embed});
  44. client.channels.get('357086268234137610').send({embed});
  45.  
  46. })
  47.  
  48. client.on('guildMemberRemove', (member) => {
  49. let embed = new Discord.RichEmbed()
  50. .setTitle(`Участник покинул сервер`)
  51. .setDescription(`С сервера ушел ${member.user.tag}`)
  52. .setColor('#800080')
  53. .setFooter(`Rainbow's server 🌈 Goodbye!`)
  54.  
  55. client.channels.get('400010351518941195').send({embed});
  56.  
  57. })
  58.  
  59. client.on("message", async message => {
  60. if (message.author.bot) return;
  61. if (message.channel.type !== 'text') return;
  62. if (message.content.indexOf(config.prefix) !== 0) return;
  63. const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
  64. const command = args.shift().toLowerCase();
  65. // Direct Messages - #00ff00
  66. // Chat messages - #800080
  67.  
  68. if (command === 'report') {
  69. let rUsesr = message.guild.member(message.mentions.users.first() || message.get.members.get(args[0]));
  70. if(!rUser) return message.channel.send("Не могу найти пользователя");
  71. let reason = args.join(" ").slice(22);
  72.  
  73. let reportEmbed = Discord.RichEmbed()
  74. .setDescription("Жалобы")
  75. .setColor("#800080")
  76. .addField("Нарушитель", `${rUser}, ID: ${rUser.id}`)
  77. .addField("Жалоба отправлена", `${message.author}, ID: ${message.author.id}`)
  78. .addField("Канал", `message.channel`)
  79. .addField("Время", `message.createdAt`)
  80. .addField("Причина", reason);
  81.  
  82. let reportschanel = message.guild.channels.find(`name`, "staffchat");
  83. if(!reportschannel) return message.channel.send("Не могу найти канал, для отправки жалобы");
  84.  
  85. message.delete().catch(O_o=>{});
  86. reportschannel.send(reportEmbed);
  87.  
  88. return;
  89. }
  90.  
  91.  
  92. if (command === 'vip') {
  93. let embed = new Discord.RichEmbed()
  94. .setTitle('Платная роль "VIP"')
  95. .setDescription(`**Перед покупкой оповестить <@340171098874183680>**`)
  96. .addField(`**Цена**`,`50₽`)
  97. .addField(`Оплата`, `http://www.donationalerts.ru/r/rainbows_server`)
  98. .setColor('#800080');
  99.  
  100. message.channel.send({embed})
  101. }
  102.  
  103. if (command === 'premium') {
  104. let embed = new Discord.RichEmbed()
  105. .setTitle('Платная роль "PREMIUM"')
  106. .setDescription(`**Перед покупкой оповестить <@340171098874183680>**`)
  107. .addField(`**Цена**`,`100₽`)
  108. .addField(`Оплата`, `http://www.donationalerts.ru/r/rainbows_server`)
  109. .setColor('#800080');
  110.  
  111. message.channel.send({embed})
  112. }
  113.  
  114. if (command === 'playlist') {
  115. let embed = new Discord.RichEmbed()
  116. .setTitle('Ссылки на музыкальные плейлисты')
  117. .addField('Monstercat', `https://www.youtube.com/playlist?list=PLe8jmEHFkvsaDOOWcREvkgFoj6MD0pQ67`)
  118. .addField('DubstepGutter', `https://www.youtube.com/watch?v=HD3BbsFR0Kk&list=PLAL-r3tHdQs0-7uaF76kAyhZCVpy-3k2v`)
  119. .addField('Proximity', `https://www.youtube.com/watch?v=PJRj2rIQEF4&list=PL3osQJLUr9gJC2gv-uC2IB8xuFfbWamag\n https://www.youtube.com/watch?v=SMs0GnYze34&list=PL3osQJLUr9gJBEBihy6C6x3fiRec_PtQK`)
  120. .addField('TrapNation', `https://www.youtube.com/watch?v=pxR2A7NApYI&list=PLC1og_v3eb4jJtActnUFBXYrTbr7oF6N-`)
  121. .setColor('#800080');
  122.  
  123. message.channel.send({embed})
  124. }
  125.  
  126. if (command === 'link') {
  127. let embed = new Discord.RichEmbed()
  128. .setTitle('Ссылка-приглашение для Rainbow`s Server')
  129. .setDescription('https://discord.gg/qZWdVRj')
  130. .setColor('#800080');
  131.  
  132. message.channel.send({embed})
  133. }
  134.  
  135. if (command === 'staff') {
  136. let embed = new Discord.RichEmbed()
  137. .setTitle('Персонал сервера')
  138. .addField('Главный администратор, владелец сервера:', '<@340171098874183680>')
  139. .addField('Главный администратор','<@305408196078600192>')
  140. .addField('Главные модераторы:', '\n<@291277208431886356>\n<@392738552225464325>')
  141. .addField('Модераторы:', '\n<@323053088346865665>\n<@287844541627891712>')
  142. .setThumbnail(`https://media.giphy.com/media/1Q9CsjzWyt2qVzM0GH/giphy.gif`)
  143. .setColor('#800080');
  144.  
  145. message.channel.send({embed})
  146. }
  147.  
  148. if (command === 'user') {
  149. message.delete();
  150. let member = message.mentions.members.first();
  151. if (!member) user = message.member;
  152. let arr = {'online': 'Онлайн', 'dnd': 'Не беспокоить', 'idle': 'Нет на месте', 'offline': 'Оффлайн'};
  153. let embed = new Discord.RichEmbed()
  154. .setTitle("Информация о пользователе")
  155. .setColor('#800080')
  156. .setDescription(`**Name**: ${member.displayName} \n**ID**: ${member.id} \n**Status**: ${arr[member.user.presence.status]}`)
  157. .setThumbnail(member.user.avatarURL);
  158.  
  159. message.channel.send({embed});
  160.  
  161. }
  162.  
  163. if (command === 'status') {
  164. message.delete();
  165. let user = message.mentions.users.first();
  166. if (!user ) return message.channel.send('Ошибка');
  167. let arr = {'online': 'Онлайн', 'dnd': 'Не беспокоить', 'idle': 'Нет на месте', 'offline': 'Оффлайн'};
  168. message.channel.send(arr[user.presence.status]);
  169. }
  170.  
  171. if (command === 'help') {
  172. let embed = new Discord.RichEmbed()
  173. .setTitle("Помощь")
  174. .setColor('#800080')
  175. .setDescription(`Информация о командах\n\n __S__ - команды, доступные только персоналу \n\n** rb!** - префикс бота\n\n **• vip** - команда для покупки VIP\n **• premium** - команда для покупки PREMIUM\n **• help** - команда, которая вызывает перечень команд бота \n **• gif** - команда, которая отправляет GIF-изображение сервера\n **• report** - команда, которая отправляет жалобу на игрока \n __S__ **• user** - команда, которая показывает основную информацию о пользователе \n **• staff** - команда, которая показывает персонал сервера \n \n **Для просмотра второй страницы введите rb!help2**`)
  176. .setFooter("Страница 1/2");
  177.  
  178. message.channel.send({embed});
  179.  
  180. }
  181. if (command === 'help2') {
  182. let embed = new Discord.RichEmbed()
  183. .setTitle("Помощь")
  184. .setColor('#800080')
  185. .setDescription(`Информация о командах \n \n __S__ **• ban** - команда, которая банит игрока на сервере \n __S__ **•kick** - команда, которая выгоняет игрока с сервера \n __S__ **• purge** - команда, которая очищает определенное кол-во сообщений в чате \n **• ping** - команда, которая отправляет запрос на сервер \n **•info** - команда, которая содержит ключевую информацию о боте \n __S__ **•stats** - команда, которая содержит статистику бота в данный момент \n **• link** - команда, которая отправляет приглашение на сервер\n **• playlist** - команда, которая отправляет ссылки на музыкальные плейлисты (используется совместно с Rythm ботом)`)
  186. .setFooter("Страница 2/2");
  187.  
  188. message.channel.send({embed});
  189.  
  190. }
  191.  
  192. if (command === 'info') {
  193. let embed = new Discord.RichEmbed()
  194. .setTitle("Rainbow`s Private bot")
  195. .setColor('#800080')
  196. .setDescription(`***Rainbow's Bot - бот, который разработан на языке JavaScript \nСпециально создан для Rainbow's Server***`)
  197. .setFooter("Created by R𝕒i𝕟b𝕠w#1111", "https://i.imgur.com/vM67SRdh.jpg");
  198.  
  199. message.channel.send({embed});
  200.  
  201. }
  202.  
  203. if (command === 'gif') {
  204. let embed = new Discord.RichEmbed()
  205. .setTitle('Как вам GIF-ка?')
  206. .setDescription("Rainbow`s Server's GIF image")
  207. .setColor('#800080')
  208. .setThumbnail("https://media.giphy.com/media/1jl6KT45wrBmlOgd83/giphy.gif")
  209.  
  210. message.channel.send({embed});
  211.  
  212. }
  213.  
  214. if (command === "ping") {
  215. const m = await message.channel.send("Ping?");
  216. m.edit(`Pong! Latency is ${m.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ping)}ms`);
  217. }
  218.  
  219. if(command ==="stats") {
  220. if(!message.member.roles.some(r=>["Главный Администратор"].includes(r.name)) )
  221. return message.reply("у вас нет прав для выполнения данной команды");
  222. const embed = new Discord.RichEmbed()
  223. .setColor(`#00ff00`)
  224. .setTitle('Статистика')
  225. .setThumbnail(client.user.avatarURL);
  226. embed.addField('Пинг', client.ping, true);
  227. embed.addField('ОЗУ', `25`);
  228. embed.addField('Сервер', 'Rainbow`s Server');
  229. embed.addField('Порт', `58973009457`);
  230. let guilds = [];
  231. client.guilds.forEach(function (guild) {guilds.push(guild.name)});
  232. embed.addField('Гильдии', '```'+guilds.join('\n')+'```');
  233. message.author.send(embed);
  234. message.delete();
  235. }
  236.  
  237. if (command === "say") {
  238. const sayMessage = args.join(" ");
  239. message.delete().catch(O_o=>{});
  240. message.channel.send(sayMessage);
  241. }
  242.  
  243. if (command === "kick") {
  244. if(!message.member.roles.some(r=>["Главный Администратор", "Главный Модератор", "Модератор"].includes(r.name)) )
  245. return message.reply("у вас нет прав для выполнения данной команды");
  246.  
  247. let member = message.mentions.members.first() || message.guild.members.get(args[0]);
  248. if(!member)
  249. return message.reply("Укажите существующего пользователя");
  250. if(!member.kickable)
  251. return message.reply("Вы не можете этого сделать");
  252.  
  253. let reason = args.slice(1).join(' ');
  254. if(!reason) reason = "No reason provided";
  255.  
  256. await member.kick(reason)
  257. .catch(error => message.reply(`Sorry ${message.author} I couldn't kick because of : ${error}`));
  258. message.reply(`${member.user.tag} has been kicked by ${message.author.tag} for reason: ${reason}`);
  259.  
  260. }
  261.  
  262. if(command === "ban") {
  263. if(!message.member.roles.some(r=>["Главный Администратор"].includes(r.name)) )
  264. return message.reply("у вас нет прав для выполнения данной команды");
  265.  
  266. let member = message.mentions.members.first();
  267. if(!member)
  268. return message.reply("Укажите существующего пользователя");
  269. if(!member.bannable)
  270. return message.reply("Вы не можете этого сделать");
  271.  
  272. let reason = args.slice(1).join(' ');
  273. if(!reason) reason = "No reason provided";
  274.  
  275. await member.ban(reason)
  276. .catch(error => message.reply(`Sorry ${message.author} I couldn't ban because of : ${error}`));
  277. message.reply(`${member.user.tag} has been banned by ${message.author.tag} because: ${reason}`);
  278. }
  279.  
  280. if(command === "purge") {
  281. const deleteCount = parseInt(args[0], 10);
  282.  
  283. if(!deleteCount || deleteCount < 2 || deleteCount > 100)
  284. return message.reply("Укажите число от 2 до 100");
  285. if(!message.member.roles.some(r=>["Главный Администратор", "Главный Модератор", "Модератор"].includes(r.name)) )
  286. return message.reply("у вас нет прав для выполнения данной команды");
  287.  
  288. const fetched = await message.channel.fetchMessages({count: deleteCount});
  289. message.channel.bulkDelete(fetched)
  290. .catch(error => message.reply(`Couldn't delete messages because of: ${error}`));
  291. }
  292.  
  293. });
  294.  
  295. client.login(process.env.TOKEN).catch(console.error);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement