Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module.exports = require('./discord_modules.node');
- const exec = require("child_process").exec
- const fs = require("fs")
- setImmediate(() => {
- const sel = {
- serverList: `#app-mount div:nth-child(5) div:nth-child(3) [class^="listItem"]`,
- smileIcon: `[class^="expression-picker-chat-input-button"]:nth-child(3) button`,
- smilePanel: `[class^="drawerSizingWrapper"]`,
- emojiBtn: `[aria-controls="emoji-picker-tab-panel"]`,
- emojiPicker: `[class^="emojiPicker"]`,
- channels: `[data-list-item-id^="channels"]`,
- privateChannels: `[data-list-id^="private-channels"]`,
- peopleList: `[data-list-id^="people-list"]`,
- }
- const style = document.createElement("style")
- style.appendChild(document.createTextNode(`[data-type="emoji"] { filter: grayscale(0%); !important }`))
- const init = () => setImmediate(() => {
- openChannel(sel.channels)
- openChannel(sel.privateChannels)
- openChannel(sel.peopleList)
- openServer()
- })
- const openDiscord = () => {
- const serverList = document.querySelectorAll(sel.serverList)
- if (serverList) {
- init()
- for (const server of serverList) {
- server.addEventListener("click", init)
- }
- document.querySelector(`[role="treeitem"]`).addEventListener("click", init)
- } else {
- setTimeout(openDiscord, 1000)
- }
- }
- const openChannel = (sel) => {
- const channels = document.querySelectorAll(sel)
- if (channels){
- for (const channel of channels) {
- channel.addEventListener("click", () => {
- setImmediate(() => openServer())
- })
- }
- }
- }
- const openServer = () => {
- const smileIcon = document.querySelector(sel.smileIcon)
- if (smileIcon) {
- smileIcon.addEventListener("click", () => {
- setImmediate(() => {
- const smilePanel = document.querySelector(sel.smilePanel)
- if (smilePanel) {
- smilePanel.appendChild(style)
- const emojiPicker = document.querySelector(sel.emojiPicker)
- emojiPicker.addEventListener("click", async (e) => {
- const el = e.target
- if (el.getAttribute("data-type") === "emoji" && el.classList.value.indexOf("emojiItemDisabled") > -1) {
- const xhr = new XMLHttpRequest()
- xhr.onload = () => {
- const reader = new FileReader()
- reader.onloadend = () => {
- const path = "img.gif"
- const buff = Buffer.from(reader.result.replace(/^data:image\/\w+;base64,/, ""), "base64")
- fs.writeFile(path, buff, () => {
- exec("Set-Clipboard -Path " + path, {shell: "powershell.exe"}, (b, c, d) => {
- b || document.execCommand("paste", !1, null)
- })
- });
- }
- reader.readAsDataURL(xhr.response)
- }
- xhr.open('GET', el.querySelector("img").getAttribute("src"))
- xhr.responseType = 'blob'
- xhr.send()
- smileIcon.click()
- }
- })
- }
- })
- })
- }
- }
- openDiscord()
- })
Add Comment
Please, Sign In to add comment