n3k4a

Untitled

Mar 24th, 2019 (edited)
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. var cooldown = require('./cooldown.json');
  2. function saveCoolDown(){
  3. fs.writeFile("./cooldown.json", JSON.stringify(cooldown), function (err) {
  4. if(err) throw err;
  5. })
  6. }
  7. function checkPermission(String, message){
  8. if(!message.guild.member(message.author).hasPermission(String))return message.reply('You dont have '+String+' Permission.');
  9. }
  10. client.on('message', message => {
  11. if(!cooldown[message.guild.id])cooldown[message.guild.id] ={
  12. toggled: "off",
  13. time: "none"
  14. }
  15. saveCoolDown();
  16. var command = message.content.split(" ")[0],
  17. args = message.content.split(" ");
  18. switch(command){
  19. case prefix+"setCoolDown":
  20. checkPermission("MANAGE_GUILD");
  21. while(args[1].startsWith("on")){
  22. cooldown[message.guild.id] = {
  23. toggled: "on",
  24. time: cooldown[message.guild.id].time
  25. }
  26. saveCoolDown();
  27. message.reply('done toggled cooldown to on.')
  28. }
  29. while(args[1].startsWith("off")){
  30. cooldown[message.guild.id] = {
  31. toggled: "off",
  32. time: cooldown[message.guild.id].time
  33. }
  34. saveCoolDown();
  35. message.reply('done toggled cooldown to off.')
  36. }
  37. while(args[1].startsWith("settime")){
  38. var newtime = args[2];
  39. if(!newtime)return message.reply('Specify a time')
  40. if(!newtime.match[/['0-60', 's,min,h,d]/g])return message.reply('Time formats: 1s, 1min, 1h, 1day')
  41. cooldown[message.guild.id] = {
  42. toggled: cooldown[message.guild.id].toggled,
  43. time: ms(newtime)
  44. }
  45. saveCoolDown();
  46. message.reply('Done you have set the time of cooldown to ``'+newtime+'``');
  47. }
  48. break;
  49. }
  50. })
  51. var cooldowntimer = new Set();
  52. client.on('message', async message => {
  53. if(cooldown[message.guild.id].toggled == "off")return;
  54. if(cooldowntimer.has(message.author)){
  55. message.delete();
  56. message.reply('You can't send another message now, please wait.').then(m => m.delete(3000));
  57. }else{
  58. cooldowntimer.add(message.author);
  59. setTimeout(() => {
  60. cooldowntimer.delete(message.author);
  61. }, ms(cooldown[message.guild.id].timer));
  62. }
  63. })
Add Comment
Please, Sign In to add comment