Advertisement
KarZo-Company

Untitled

Oct 16th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. client.on('message', message => {
  2. if(message.content.startsWith(prefix + 'new')) {
  3. let args = message.content.split(' ').slice(1).join(' ');
  4. let support = message.guild.roles.find("name","Support Team");
  5. let ticketsStation = message.guild.channels.find("name", "TICKETS");
  6. if(!args) {
  7. return message.channel.send('Please type a subject for the ticket.');
  8. };
  9. if(!support) {
  10. return message.channel.send('**Please make sure that `Support Team` role exists and it\'s not duplicated.**');
  11. };
  12. if(!ticketsStation) {
  13. message.guild.createChannel("TICKETS", "category");
  14. };
  15. message.guild.createChannel(`ticket-${message.author.username}`, "text").then(ticket => {
  16. message.delete()
  17. message.channel.send(`Your ticket has been created. [ ${ticket} ]`);
  18. ticket.setParent(ticketsStation);
  19. ticketsStation.setPosition(1);
  20. ticket.overwritePermissions(message.guild.id, {
  21. SEND_MESSAGES: false,
  22. READ_MESSAGES: false
  23. });
  24. ticket.overwritePermissions(support.id, {
  25. SEND_MESSAGES: true,
  26. READ_MESSAGES: true
  27. });
  28. ticket.overwritePermissions(message.author.id, {
  29. SEND_MESSAGES: true,
  30. READ_MESSAGES: true
  31. });
  32. let embed = new Discord.RichEmbed()
  33. .setTitle('**New Ticket.**')
  34. .setColor("RANDOM")
  35. .setThumbnail(`${message.author.avatarURL}`)
  36. .addField('Subject', args)
  37. .addField('Author', message.author)
  38. .addField('Channel', `<#${message.channel.id}>`);
  39.  
  40. ticket.sendEmbed(embed);
  41. }) .catch();
  42. }
  43. if(message.content.startsWith(prefix + 'close')) {
  44. if(!message.member.hasPermission("ADMINISTRATOR")) return;
  45. if(!message.channel.name.startsWith("ticket")) {
  46. return;
  47. };
  48. let embed = new Discord.RichEmbed()
  49. .setAuthor("Do you really want to close this ticket? Repeat the command to make sure. You have 20 seconds.")
  50. .setColor("RANDOM");
  51. message.channel.sendEmbed(embed) .then(codes => {
  52.  
  53.  
  54. const filter = msg => msg.content.startsWith(prefix + 'close');
  55. message.channel.awaitMessages(response => response.content === prefix + 'close', {
  56. max: 1,
  57. time: 20000,
  58. errors: ['time']
  59. })
  60. .then((collect) => {
  61. message.channel.delete();
  62. }) .catch(() => {
  63. codes.delete()
  64. .then(message.channel.send('**Operation has been cancelled.**')) .then((c) => {
  65. c.delete(4000);
  66. })
  67.  
  68.  
  69. })
  70.  
  71.  
  72. })
  73.  
  74.  
  75.  
  76. }
  77. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement