Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.07 KB | None | 0 0
  1. const botconfig = require("./configs/botconfig.json");
  2. const Discord = require("discord.js");
  3. const bot = new Discord.Client();
  4. const fs = require("fs");
  5.  
  6. const activities_list = [
  7. "Darky Services",
  8. "For help | -help"
  9. ];
  10.  
  11.  
  12. bot.on('ready', () => {
  13. setInterval(() => {
  14. const index = Math.floor(Math.random() * (activities_list.length - 1) + 1);
  15. bot.user.setActivity(activities_list[index]);
  16. }, 8000);
  17. });
  18.  
  19. bot.on("ready", async () => {
  20. console.log(`${bot.user.username} is online on ${bot.guilds.size} servers!`);
  21.  
  22. });
  23.  
  24. bot.on('guildMemberAdd', (guildMember) => {
  25. guildMember.addRole(guildMember.guild.roles.find(role => role.id === "634358111964233739r"));
  26. })
  27.  
  28. bot.commands = new Discord.Collection();
  29. //The bot's command handler
  30. fs.readdir("./commands", (err, files) => {
  31.  
  32. if(err) console.log(err);
  33.  
  34. let jsfile = files.filter(f => f.split(".").pop() === "js")
  35. if(jsfile.length <= 0){
  36. console.log("Couldn't find commands");
  37. return;
  38. }
  39.  
  40. jsfile.forEach((f, i) =>{
  41. let props = require(`./commands/${f}`);
  42. console.log(`${f} loaded!`);
  43. bot.commands.set(props.help.name, props);
  44. });
  45.  
  46. });
  47.  
  48. const setupCMD = "-setreactionrole"
  49. let initialMessage = `**React to the messages below to receive the associated role. If you would like to remove the role, simply remove your reaction!**`;
  50. const roles = ["Verified"];
  51. const reactions = ["✅"];
  52.  
  53. //If there isn't a reaction for every role, scold the user!
  54. if (roles.length !== reactions.length) throw "Roles list and reactions list are not the same length!";
  55.  
  56. //Function to generate the role messages, based on your settings
  57. function generateMessages(){
  58. var messages = [];
  59. messages.push(initialMessage);
  60. for (let role of roles) messages.push(`React below to get the **"${role}"** role!`); //DONT CHANGE THIS
  61. return messages;
  62. }
  63.  
  64.  
  65. bot.on("message", message => {
  66. if (message.member.hasPermission("ADMINISTRATOR") && message.content.toLowerCase() == setupCMD){
  67. var toSend = generateMessages();
  68. let mappedArray = [[toSend[0], false], ...toSend.slice(1).map( (message, idx) => [message, reactions[idx]])];
  69. for (let mapObj of mappedArray){
  70. message.channel.send(mapObj[0]).then( sent => {
  71. if (mapObj[1]){
  72. sent.react(mapObj[1]);
  73. }
  74. });
  75. }
  76. }
  77. })
  78.  
  79.  
  80. bot.on('raw', event => {
  81. if (event.t === 'MESSAGE_REACTION_ADD' || event.t == "MESSAGE_REACTION_REMOVE"){
  82.  
  83. let channel = bot.channels.get(event.d.channel_id);
  84. let message = channel.fetchMessage(event.d.message_id).then(msg=> {
  85. let user = msg.guild.members.get(event.d.user_id);
  86.  
  87. if (msg.author.id == bot.user.id && msg.content != initialMessage){
  88.  
  89. if (user.id != bot.user.id){
  90. var memberObj = msg.guild.members.get(user.id);
  91.  
  92. if (event.t === "MESSAGE_REACTION_ADD"){
  93. memberObj.addRole('634356108420710411');
  94. memberObj.removeRole('634356020478738434');
  95. } else {
  96. memberObj.removeRole('634356108420710411');
  97. memberObj.addRole('634356020478738434');
  98. }
  99. }
  100. }
  101. })
  102.  
  103. }
  104. });
  105.  
  106. bot.on("message", async message => {
  107.  
  108.  
  109.  
  110.  
  111.  
  112. let prefix = "-"
  113. if(!message.content.startsWith(prefix)) return;
  114.  
  115. if(message.author.bot) return;
  116. if(message.channel.type === "dm") return;
  117.  
  118. let messageArray = message.content.split(" ");
  119. let cmd = messageArray[0];
  120. let args = messageArray.slice(1);
  121.  
  122. if(prefix == cmd.slice(0,1)){
  123. let commandfile = bot.commands.get(cmd.slice(prefix.length));
  124. if(commandfile) commandfile.run(bot,message,args);
  125.  
  126.  
  127. };
  128.  
  129.  
  130.  
  131. if(cmd === `${prefix}botinfo`){
  132. message.delete(18000);
  133. let bicon = bot.user.displayAvatarURL;
  134. let botembed = new Discord.RichEmbed()
  135. .setDescription("**Darky Services Bot**")
  136. .setColor("RANDOM")
  137. .setThumbnail(bicon)
  138. .addField("Version:", '1.0.0')
  139. .addField("Bot Author:", 'Darkless#0001');
  140.  
  141. return message.channel.send(botembed);
  142. }
  143.  
  144.  
  145. });
  146.  
  147. bot.on("guildMemberAdd", member => {
  148. console.log(`${member.user.username} joined the server`);
  149.  
  150. const channel = member.guild.channels.find(ch => ch.id === '634360959443664916')
  151. var sicon = member.user.displayAvatarURL;
  152. var joiner = member.user.username;
  153. let welcomeembed = new Discord.RichEmbed()
  154.  
  155. .setColor("RANDOM")
  156. .setTitle("Welcome to, " +joiner)
  157. .setDescription('We hope you enjoy your stay! Use the helpful channels down below to navigate through the server!\n \u200B \n• Rules » <#634361256890859521> \n• Informations » <#634361219314221066> \n• Announcements » <#634365675061641226>\n \u200B')
  158. .setThumbnail(sicon)
  159. .setTimestamp()
  160. .setFooter('© Darky Services Bot by Darkless#0001');
  161.  
  162. return channel.send(welcomeembed);
  163. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement