Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.61 KB | None | 0 0
  1. const Discord = require('discord.js');
  2. const tools = require('./functions.js');
  3. const client = new Discord.Client();
  4.  
  5. const prefix = '!';
  6. const ownerID = '317620976688955392';
  7.  
  8. const db = require('quick.db');
  9.  
  10. client.on('message', async message => {
  11. if (message.author.bot) return;
  12.  
  13. if (message.channel.type !== 'text') {
  14.  
  15. let active = await db.fetch(`support_${message.author.id}`);
  16.  
  17. let guild = client.guilds.get('593548352373915679');
  18.  
  19. let channel, found = true;
  20.  
  21. try {
  22. if (active) client.channels.get(active.channelID)
  23. } catch (e) {
  24. found = false;
  25. }
  26.  
  27. if (!active || !found) {
  28.  
  29. active = {};
  30.  
  31. channel = await guild.channels.create(`${message.author.username}-${message.author.discriminator}`, {
  32. parent: '596017375560728616',
  33. topic: `!complete to close the ticket | Support for ${message.author.tag} | ID: ${message.author.id}`
  34. });
  35.  
  36. let author = message.author;
  37.  
  38.  
  39. const newChannel = new Discord.MessageEmbed()
  40. .setColor(0x36393e)
  41. .setAuthor(author.tag, author.displayAvatarURL())
  42. .setFooter('Support Ticket Created')
  43. .addField('User', author)
  44. .addField('ID', author.id)
  45.  
  46. await channel.send(newChannel);
  47.  
  48. const newTicket = new Discord.MessageEmbed()
  49. .setColor(0x36393e)
  50. .setAuthor(`Hello ${author.tag}`, author.displayAvatarURL())
  51. .setFooter('Support Ticket Created')
  52.  
  53. await author.send(newTicket);
  54.  
  55. active.channelID = channel.id;
  56. active.targetID = author.tag;
  57. }
  58.  
  59. channel = client.channels.get(active.channelID);
  60.  
  61. const dm = new Discord.MessageEmbed()
  62. .setColor(0x36393e)
  63. .setAuthor(`Thank you, ${message.author.tag}`, message.author.displayAvatarURL())
  64. .setFooter(`Your message has been sent -- A staff member will be in contact soon`)
  65.  
  66. await message.author.send(dm);
  67.  
  68. const embed = new Discord.MessageEmbed()
  69. .setColor(0x36393)
  70. .setAuthor(message.author.tag, message.author.displayAvatarURL())
  71. .setDescription(message.content)
  72. .setFooter(`Message Recieved -- ${message.author.tag}`)
  73.  
  74. await message.author.send(embed);
  75.  
  76. db.set(`support_${message.author.id}`, active);
  77. db.set(`supportChannel_${channel.id}`, message.author.id);
  78. return;
  79. }
  80.  
  81. let support = await db.fetch(`supportChannel_${message.channel.id}`);
  82.  
  83. if (support) {
  84.  
  85. support = await db.fetch(`support_${support}`);
  86.  
  87. let supportUser = client.users.get(support.targetID);
  88. if (!supportUser) return message.channel.delete();
  89.  
  90. if (message.content.toLowerCase() === '!complete') {
  91. const complete = new Discord.MessageEmbed()
  92. .setColor(0x39363e)
  93. .setAuthor(`Hey ${supportUser.tag}`, supportUser.displayAvatarURL())
  94. .setFooter('Ticket Closed -- ')
  95. .setDescription('*Your ticket has been marked as **complete**. If you wish to reopen this, or create a new one, please send a message to the bot.*')
  96.  
  97. supportUser.send(complete);
  98.  
  99. message.channel.delete();
  100.  
  101. db.delete(`support_${support,targetID}`);
  102. }
  103.  
  104. const embed = new Discord.RichEmbed()
  105. .setColor(0x36393e)
  106. .setAuthor(message.author.tag, message.author.displayAvatarURL())
  107. .setFooter(`Message Recieved -- `)
  108. .setDescription(message.content)
  109.  
  110. client.users.get(support.targetID).send(embed)
  111.  
  112. message.delete({timeout: 1000});
  113.  
  114. embed.setFooter(`Message Sent -- ${supportUser.tag}`).setDescription(message.content);
  115.  
  116. return message.channel.send(embed);
  117.  
  118. }
  119.  
  120. let args = message.content.slice(prefix.length).trim().split(' ');
  121. let cmd = args.shift().toLowerCase();
  122.  
  123. if (message.author.bot) return;
  124. if (!message.content.startsWith(prefix)) return;
  125.  
  126. try {
  127.  
  128. delete require.cache[require.resolve(`./commands/${cmd}.js`)];
  129.  
  130. let ops = {
  131. ownerID: ownerID
  132. }
  133.  
  134. let commandFile = require(`./commands/${cmd}.js`);
  135. commandFile.run(client, message, args, tools, ops);
  136. } catch (e) {
  137. console.log(e.stack);
  138. }
  139.  
  140. });
  141.  
  142. client.on('ready', () => console.log('Bot Launched!'));
  143.  
  144. client.login('insert token here');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement