Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const discord = require("discord.js");
  2. const config = require('../jsons/config.json');
  3. const fs = require('fs').promises;
  4. const jsdom = require('jsdom');
  5. const { JSDOM } = jsdom;
  6. const dom = new JSDOM();
  7. const document = dom.window.document;
  8. exports.run = async (client, message, args) => {
  9.  
  10.     message.delete()
  11.  
  12.     if (!message.member.roles.some(r => config.Commandperms.comp_command.includes(r.name))) {
  13.         message.channel.send("Invalid Permissions");
  14.         return
  15.     }
  16.  
  17.     let messageCollection = new discord.Collection();
  18.     let channelMessages = await message.channel.fetchMessages({
  19.         limit: 100
  20.  
  21.     }).catch(err => console.log(err));
  22.  
  23.  
  24.     messageCollection = messageCollection.concat(channelMessages);
  25.  
  26.     while(channelMessages.size === 100) {
  27.         let lastMessageId = channelMessages.lastKey();
  28.         channelMessages = await message.channel.fetchMessages({ limit: 100, before: lastMessageId}).catch(err => console.log(err));
  29.         if (channelMessages)
  30.             messageCollection = messageCollection.concat(channelMessages);
  31.     }
  32.  
  33.     let msgs = messageCollection.array().reverse();
  34.     let data = fs.readFile('./commands/template.html','utf8').catch(err => console.log(err));
  35.     if (data) {
  36.         fs.writeFile('index.html',data).catch(err => console.log(err));
  37.         let guildElement = document.createElement('div');
  38.         let guildText = document.createTextNode(message.guild.name);
  39.         let guildImg = document.createElement('img');
  40.         guildImg.setAttribute('src', message.guild.iconURL);
  41.         guildImg.setAttribute('width','150');
  42.         guildElement.appendChild(guildImg);
  43.         guildElement.appendChild(guildText);
  44.         fs.appendFile('index.html', guildElement.outerHTML).catch(err => console.log(err));
  45.  
  46.         msgs.forEach(msg => {
  47.             let parentContainer = document.createElement("div");
  48.             parentContainer.className = "parent-container";
  49.  
  50.             let avatarDiv = document.createElement("div");
  51.             avatarDiv.className = "avatar-container"
  52.             let img = document.createElement('img');
  53.             img.setAttribute('src', message.author.displayAvatarURL)
  54.             img.className = "avatar";
  55.             avatarDiv.appendChild(img);
  56.  
  57.             parentContainer.appendChild(avatarDiv);
  58.  
  59.             let messageContainer = document.createElement('div');
  60.             messageContainer.className = "message-container";
  61.  
  62.             let nameElement = document.createElement("span");
  63.             let name = document.createTextNode(msg.author.tag + " " + msg.createdAt.toDateString() + " " + msg.createdAt.toLocaleTimeString());
  64.             nameElement.appendChild(name);
  65.             messageContainer.append(nameElement);
  66.  
  67.             if(msg.content.startsWith("```")) {
  68.                   let m = msg.content.replace(/```/g, "");
  69.                   let codeNode = document.createElement("code");
  70.                   let textNode =  document.createTextNode(m);
  71.                   codeNode.appendChild(textNode);
  72.                   messageContainer.appendChild(codeNode);
  73.               }
  74.               else {
  75.                   let msgNode = document.createElement('span');
  76.                   let textNode = document.createTextNode(msg.content);
  77.                   msgNode.append(textNode);
  78.                   messageContainer.appendChild(msgNode);
  79.               }
  80.               parentContainer.appendChild(messageContainer);
  81.               fs.appendFile('index.html', parentContainer.outerHTML).catch(err => console.log(err));
  82.  
  83.         });
  84.     }
  85.     const attachment = new discord.Attachment('./commands/index.html');
  86.     let logchannel = message.guild.channels.find(cl => cl.name == "ticket-logs" && cl.type == "text")
  87.     logchannel.send(`${message.author},`, attachment)
  88.     //message.guild.get(`683980679801077820`).send(`${message.author},`, attachment);
  89.  
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement