Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require("discord.js");
- const PREFIX = "!";
- const TOKEN = "NTI3OTM0NTk3NzkxNzQ0MDAy.Dwa-Yg.59G3nzPc1dB65FzrqBiO8imMPqA";
- let bot = new Discord.Client();
- let shonly_curses=[];
- let curses=[];
- let loop=[]; // holds members of loop array
- let servers=[];
- let voice_channels=[];
- let case_names=
- [
- "boer",
- "curse, curse spam <number less than 5>",
- "help",
- "addloop <@user> (adds user to loop)",
- "remloop <@user> (removes user from loop)",
- "listclear (clears the loop list)",
- "loop (loops everyone)",
- "purge <number less than 100>",
- "looplist (the users who are in the list)",
- "addboer (adds a curse into the file)"
- ];
- function isANumber(str){
- return !/\D/.test(str);
- }
- function read_file(filename)
- {
- let fs = require('fs');
- try
- {
- let data = fs.readFileSync(filename, 'utf8');
- let temp = data.toString().split("\r\n");
- arr_ret=[];
- for(let m=0;m<temp.length;m++)
- {
- arr_ret.push(temp[m]);
- }
- return arr_ret;
- }
- catch(e)
- {
- console.log('Error:', e.stack);
- }
- }
- // C:\Users\Tomer\Desktop\Programming files\DiscordBot
- bot.on("ready",function(){
- // shonly_curses=read_file("shonly_curses.txt");
- // curses=read_file("curses.txt");
- console.log("Ready");
- //bot.user.setActivity("Fucking boer's mom");
- });
- /*bot.on("guildMemberAdd",function(member)
- {
- member.guild.channels.find("name","sexting-channel").send(member.toString() + "fuck you cunt");
- member.addRole(member.guild.roles.find("name","testing"));
- // member.addRole(member.guild.roles.find("name","testing"));
- });
- */
- function isAMember(str,message)
- {
- let plus=0;
- if(str.length==22)
- {
- plus=1;
- }
- if(str.length==18)
- {
- plus=-2;
- }
- if(str.length==21 || str.length==22 || str.length==18)
- {
- let id="";
- for(let counter=2+plus;counter<20+plus;counter++)
- {
- id+=str[counter];
- }
- let members_arr = message.guild.members.array();
- let temp_member=null;
- for(let mem_counter=0;mem_counter<members_arr.length;mem_counter++)
- {
- if(members_arr[mem_counter].user.id==id)
- {
- temp_member=members_arr[mem_counter];
- }
- }
- return temp_member;
- }
- return null;
- }
- function calc_loop()
- {
- for(let x=0;x<loop.length;x++)
- {
- loop[x].setVoiceChannel(voice_channels[Math.floor(Math.random()*voice_channels.length)]);
- }
- }
- function add_to_loop(message,member)
- {
- //if(message.author.id=="188573862311493634")
- //{
- let temp=0;
- for(let x=0;x<loop.length;x++)
- {
- if(loop[x].user.id==member.user.id)
- {
- temp+=1;
- }
- }
- if(temp==0)
- {
- loop.push(member);
- message.channel.send("Added " + member.user.toString()+ " to loop");
- }
- else
- {
- message.channel.send("Can't add " + member.user.toString()+ " to loop");
- }
- for(let m=0;m<loop.length;m++)
- {
- console.log(loop[m].user.username);
- }
- }
- function remove_from_loop(message,member)
- {
- for(let x=0;x<loop.length;x++)
- {
- if(loop[x].user.id==member.user.id)
- {
- loop.splice(member);
- message.channel.send("Removed " + member.user.toString() + " From loop");
- return;
- }
- }
- message.channel.send("Can't remove " + member.user.toString() + " From loop since he isn't in the loop");
- }
- function getArgs(arr)
- {
- let args=[];
- for(let x=1;x<arr.length;x++)
- {
- args.push(arr[x]);
- }
- return args;
- }
- bot.on("message",function(message)
- {
- if(message.channel.type=="dm") return;
- /* let denis_id = "188573862311493634";
- let temp_mem = isAMember(denis_id,message);
- //console.log(temp_mem.user.username)
- let role = message.guild.roles.get("530376049754636318");
- temp_mem.addRole(role,"test");
- */
- voice_channels = message.member.guild.channels.findAll("type","voice")
- if(message.author.equals(bot.user)) return;
- console.log(message.toString()); // message logger
- if(!message.content.startsWith(PREFIX)) return;
- let msgs= message.content.substring(PREFIX.length).split(" "); // cut msgs
- let args = getArgs(msgs);
- // message.channel.send(msgs[1].length);
- switch (msgs[0].toLowerCase())
- {
- case "boer" :
- shonly_curses=read_file("shonly_curses.txt");
- let temp_send=(shonly_curses[Math.floor(Math.random()*shonly_curses.length)]);
- if(temp_send=="") return;
- message.channel.send(temp_send);
- console.log("Succeded in reacting");
- break;
- case "looplist":
- for(let x=0;x<loop.length;x++)
- {
- message.channel.send(loop[x].user.toString() + " Is in the loop");
- }
- if(loop.length==0)
- {
- message.channel.send("There are no users in the loop");
- }
- break;
- case "addboer":
- if(message.member.id!="188573862311493634") return message.channel.send("fuck you youre not allowed to use this");
- let fs = require("fs");
- if(!message.member.hasPermissions("MUTE_MEMBERS"))
- {
- message.channel.send("You must have a permission to mute members or higher to use this function");
- return;
- }
- if(msgs.length<=1)
- {
- message.channel.send("Invalid input, you must enter atleast 1 word");
- return;
- }
- fs.appendFileSync("shonly_curses.txt","\n" + args.join(" ") + "\r");
- message.channel.send("Added " + args.join(" ") + " To shonly curses file");
- break;
- case "curse":
- curses=read_file("curses.txt");
- if(msgs.length>2)
- {
- if(msgs[1].toLowerCase()=="spam" && isANumber(msgs[2]))
- {
- for(let x=0;x<parseInt(msgs[2]) && x<5;x++)
- {
- message.channel.send(curses[Math.floor(Math.random()*curses.length)]);
- }
- }
- }
- else
- {
- message.channel.send(curses[Math.floor(Math.random()*curses.length)]);
- }
- break;
- case "purge":
- if(isANumber(msgs[1]))
- {
- let num_del = parseInt(msgs[1]);
- if(num_del<100)
- {
- message.channel.bulkDelete(num_del);
- message.channel.send("Succesfully deleted " + num_del + " Messages");
- }
- else
- {
- message.channel.send("Please enter a number which is less than 100");
- }
- }
- break;
- case "help":
- let temp_str="Commands are: ";
- for(let x=0;x<case_names.length;x++)
- {
- temp_str+= " \n" +case_names[x];
- }
- message.channel.send(temp_str);
- break;
- case "addloop":
- if(!message.member.hasPermissions("MUTE_MEMBERS")) return;
- if(msgs[1])
- {
- let member = isAMember(msgs[1],message);
- if(member!=null)
- {
- if(member.voiceChannel)
- {
- add_to_loop(message,member);
- }
- else
- {
- message.channel.send("Cant add " + member.user.toString() +" Because he needs to be in a voice channel first");
- }
- }
- } // adds user to loop
- break;
- case "remloop":
- if(!message.member.hasPermissions("MUTE_MEMBERS")) return;
- if(msgs[1])
- {
- let member= isAMember(msgs[1],message);
- if(member!=null)
- {
- remove_from_loop(message,member);
- }
- }
- break;
- case "mute":
- if(msgs.length<=1)
- {
- message.channel.send("Please enter a @user after the mute function");
- return;
- }
- if(msgs[1].length == 21 || msgs[1].length==22)
- {
- let member = isAMember(msgs[1],message);
- if(member==null) return;
- member.setMute(true, 'It needed to be done');
- }
- break;
- case "loop":
- if( 2 != msgs.length) return message.channel.send("Please enter a number after the loop function,loop <number>");
- if(!isANumber(msgs[1])) return message.channel.send("Please enter a number after the loop function,loop <number>");
- let num=msgs[1];
- if(num> 5 || num<0) return message.channel.send("Please enter a number which is between 0-5");
- let voice_original=[] ;
- for(let x=0;x<loop.length;x++)
- {
- voice_original.push(loop[x].voiceChannel);
- }
- if(message.member.id!="188573862311493634") return message.channel.send("fuck you youre not allowed to use this");
- for(let q=0;q<num;q++)
- {
- calc_loop();
- }
- for(let m=0;m<voice_original.length;m++)
- {
- loop[m].setVoiceChannel(voice_original[m]);
- }
- break;
- case "listclear":
- for(let k=0;k<loop.length;k++)
- {
- remove_from_loop(message,loop[k]);
- }
- break;
- default :
- message.channel.send("Invalid command");
- console.log("Failed in reacting");
- }
- }
- );
- bot.login(TOKEN);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement