Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- client.on("message", async message => {
- const db = require('quick.db');
- if (message.author.bot) return;
- if (message.channel.type !== 'text') {
- let active = await db.fetch(`support_${message.author.id}`);
- let guild = client.guilds.get('654597015271112706');
- let channel, found = true;
- try {
- if (active) client.channels.get(active.channelID).guild;
- } catch (e) {
- found = false;
- }
- if (!active || !found) {
- active = {};
- channel = await guild.createChannel(`${message.author.username}-${message.author.discriminator}-support`, 'text', [{id: '654597015271112706'}])
- channel.setParent('656504302055063571');
- let author = message.author;
- let embed = new RichEmbed()
- const newChannel = new RichEmbed()
- .setColor(0x36393e)
- .setAuthor(author.tag, author.displayAvatarURL)
- .setFooter('Support Ticket Created')
- .addField('User', author)
- .addField('ID', author.id)
- await channel.send(newChannel);
- const newTicket = new RichEmbed()
- .setColor(0x36393e)
- .setAuthor(`Hello, ${author.tag}`, author.displayAvatarURL)
- .setFooter('Support Ticket Created')
- await author.send(newTicket);
- active.channelID = channel.id;
- active.targetID = author.id;
- }
- channel = client.channels.get(active.channelID);
- const dm = new RichEmbed()
- .setColor(0x36393e)
- .setAuthor(`Thank you, ${message.author.tag}`, message.author.displayAvatarURL)
- .setFooter(`Ýour message has been sent -- A staff member will be in contact soon`)
- await message.author.send(dm);
- let embed = new RichEmbed()
- .setColor(0x36393e)
- .setAuthor(message.author.tag, message.author.displayAvatarURL)
- .setDescription(message.content)
- .setFooter(`Message Received -- ${message.author.tag}`)
- await channel.send(embed);
- db.set(`support_${message.author.id}`, active);
- db.set(`supportChanel_${channel.id}`, message.author.id);
- }
- let support = await db.fetch(`supportChannel_${message.channel.id}`);
- if (support) {
- support = await db.fetch(`support_${support}`);
- let supportUser = client.user.get(support.targetID);
- if (!supportUser) return message.channel.delete();
- if (message.content.toLowerCase() === '?complete') {
- const complete = new RichEmbed()
- .setColor(0x36393e)
- .setAuthor(`Hey, ${supportUser.tag}`, supportUser.displayAvatarURL)
- .setFooter('Ticket Closed -- Gaming House')
- .setDescription('*Your ticket has been marked as **completed**. If you with to reopen this, or create a new one, please send a message in the bot DM*')
- supportUser.send(complete);
- message.channel.delete();
- db.delete(`support_${support.targetID}`);
- }
- const embed = new RichEmbed()
- .setColor(0x36393e)
- .setAuthor(message.author.tag, message.author.iconURL)
- .setFooter(`Message Received -- Gaming House`)
- .setDescription(message.content)
- client.users.get(support.targetID).send(embed)
- message.delete(1000);
- embed.setFooter(`Message Sent -- ${supportUser.tag}`).setDescription(message.content);
- return message.channel.send(embed);
- }
Advertisement
Add Comment
Please, Sign In to add comment