Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var cooldown = require('./cooldown.json');
- function saveCoolDown(){
- fs.writeFile("./cooldown.json", JSON.stringify(cooldown), function (err) {
- if(err) throw err;
- })
- }
- function checkPermission(String, message){
- if(!message.guild.member(message.author).hasPermission(String))return message.reply('You dont have '+String+' Permission.');
- }
- client.on('message', message => {
- if(!cooldown[message.guild.id])cooldown[message.guild.id] ={
- toggled: "off",
- time: "none"
- }
- saveCoolDown();
- var command = message.content.split(" ")[0],
- args = message.content.split(" ");
- switch(command){
- case prefix+"setCoolDown":
- checkPermission("MANAGE_GUILD");
- while(args[1].startsWith("on")){
- cooldown[message.guild.id] = {
- toggled: "on",
- time: cooldown[message.guild.id].time
- }
- saveCoolDown();
- message.reply('done toggled cooldown to on.')
- }
- while(args[1].startsWith("off")){
- cooldown[message.guild.id] = {
- toggled: "off",
- time: cooldown[message.guild.id].time
- }
- saveCoolDown();
- message.reply('done toggled cooldown to off.')
- }
- while(args[1].startsWith("settime")){
- var newtime = args[2];
- if(!newtime)return message.reply('Specify a time')
- if(!newtime.match[/['0-60', 's,min,h,d]/g])return message.reply('Time formats: 1s, 1min, 1h, 1day')
- cooldown[message.guild.id] = {
- toggled: cooldown[message.guild.id].toggled,
- time: ms(newtime)
- }
- saveCoolDown();
- message.reply('Done you have set the time of cooldown to ``'+newtime+'``');
- }
- break;
- }
- })
- var cooldowntimer = new Set();
- client.on('message', async message => {
- if(cooldown[message.guild.id].toggled == "off")return;
- if(cooldowntimer.has(message.author)){
- message.delete();
- message.reply('You can't send another message now, please wait.').then(m => m.delete(3000));
- }else{
- cooldowntimer.add(message.author);
- setTimeout(() => {
- cooldowntimer.delete(message.author);
- }, ms(cooldown[message.guild.id].timer));
- }
- })
Add Comment
Please, Sign In to add comment