Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const botconfig = require("./configs/botconfig.json");
- const Discord = require("discord.js");
- const bot = new Discord.Client();
- const fs = require("fs");
- const activities_list = [
- "Darky Services",
- "For help | -help"
- ];
- bot.on('ready', () => {
- setInterval(() => {
- const index = Math.floor(Math.random() * (activities_list.length - 1) + 1);
- bot.user.setActivity(activities_list[index]);
- }, 8000);
- });
- bot.on("ready", async () => {
- console.log(`${bot.user.username} is online on ${bot.guilds.size} servers!`);
- });
- bot.on('guildMemberAdd', (guildMember) => {
- guildMember.addRole(guildMember.guild.roles.find(role => role.id === "634358111964233739r"));
- })
- bot.commands = new Discord.Collection();
- //The bot's command handler
- fs.readdir("./commands", (err, files) => {
- if(err) console.log(err);
- let jsfile = files.filter(f => f.split(".").pop() === "js")
- if(jsfile.length <= 0){
- console.log("Couldn't find commands");
- return;
- }
- jsfile.forEach((f, i) =>{
- let props = require(`./commands/${f}`);
- console.log(`${f} loaded!`);
- bot.commands.set(props.help.name, props);
- });
- });
- const setupCMD = "-setreactionrole"
- let initialMessage = `**React to the messages below to receive the associated role. If you would like to remove the role, simply remove your reaction!**`;
- const roles = ["Verified"];
- const reactions = ["✅"];
- //If there isn't a reaction for every role, scold the user!
- if (roles.length !== reactions.length) throw "Roles list and reactions list are not the same length!";
- //Function to generate the role messages, based on your settings
- function generateMessages(){
- var messages = [];
- messages.push(initialMessage);
- for (let role of roles) messages.push(`React below to get the **"${role}"** role!`); //DONT CHANGE THIS
- return messages;
- }
- bot.on("message", message => {
- if (message.member.hasPermission("ADMINISTRATOR") && message.content.toLowerCase() == setupCMD){
- var toSend = generateMessages();
- let mappedArray = [[toSend[0], false], ...toSend.slice(1).map( (message, idx) => [message, reactions[idx]])];
- for (let mapObj of mappedArray){
- message.channel.send(mapObj[0]).then( sent => {
- if (mapObj[1]){
- sent.react(mapObj[1]);
- }
- });
- }
- }
- })
- bot.on('raw', event => {
- if (event.t === 'MESSAGE_REACTION_ADD' || event.t == "MESSAGE_REACTION_REMOVE"){
- let channel = bot.channels.get(event.d.channel_id);
- let message = channel.fetchMessage(event.d.message_id).then(msg=> {
- let user = msg.guild.members.get(event.d.user_id);
- if (msg.author.id == bot.user.id && msg.content != initialMessage){
- if (user.id != bot.user.id){
- var memberObj = msg.guild.members.get(user.id);
- if (event.t === "MESSAGE_REACTION_ADD"){
- memberObj.addRole('634356108420710411');
- memberObj.removeRole('634356020478738434');
- } else {
- memberObj.removeRole('634356108420710411');
- memberObj.addRole('634356020478738434');
- }
- }
- }
- })
- }
- });
- bot.on("message", async message => {
- let prefix = "-"
- if(!message.content.startsWith(prefix)) return;
- if(message.author.bot) return;
- if(message.channel.type === "dm") return;
- let messageArray = message.content.split(" ");
- let cmd = messageArray[0];
- let args = messageArray.slice(1);
- if(prefix == cmd.slice(0,1)){
- let commandfile = bot.commands.get(cmd.slice(prefix.length));
- if(commandfile) commandfile.run(bot,message,args);
- };
- if(cmd === `${prefix}botinfo`){
- message.delete(18000);
- let bicon = bot.user.displayAvatarURL;
- let botembed = new Discord.RichEmbed()
- .setDescription("**Darky Services Bot**")
- .setColor("RANDOM")
- .setThumbnail(bicon)
- .addField("Version:", '1.0.0')
- .addField("Bot Author:", 'Darkless#0001');
- return message.channel.send(botembed);
- }
- });
- bot.on("guildMemberAdd", member => {
- console.log(`${member.user.username} joined the server`);
- const channel = member.guild.channels.find(ch => ch.id === '634360959443664916')
- var sicon = member.user.displayAvatarURL;
- var joiner = member.user.username;
- let welcomeembed = new Discord.RichEmbed()
- .setColor("RANDOM")
- .setTitle("Welcome to, " +joiner)
- .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')
- .setThumbnail(sicon)
- .setTimestamp()
- .setFooter('© Darky Services Bot by Darkless#0001');
- return channel.send(welcomeembed);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement