blob: 1b53218835bdce4991af47fd3dd76762426ad888 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
/* Remove nitro things from discord emojis menu */
const emojiPickerObserver = new MutationObserver(() => {
// Select objects to remove
const selectors = [
'#emoji-picker-grid ul li button [class^="emojiLockIconContainer"]',
"div[class*='emojiPicker'] div[class*='hasTabParentContainer']",
"div[class*='emojiPicker'] div[class*='backdrop']",
"[class^='upsellContainer']"
];
// Search and delete objects
selectors.forEach(selector => {
document.querySelectorAll(selector).forEach(element => element.remove());
});
});
/* Function to copy emojis link into the clipboard */
async function copyTextToClipboard(textToCopy) {
try {
await navigator.clipboard.writeText(textToCopy);
} catch (err) {
console.error("Error while copy in the clipboard : ", err);
}
}
/* Add event on each emoji on emojis menu to copy them into the clipboard */
const emojisObserver = new MutationObserver(() => {
document.querySelectorAll("div[class*='listItems'] div[class*='categorySection'] ul li button:not([affected])")
.forEach(btn => {
btn.setAttribute("affected", "true");
btn.addEventListener("click", (e) => {
let source = e.currentTarget.querySelector("img").getAttribute('src');
copyTextToClipboard(source);
});
});
});
/* Copy emojis from chat when clicked on */
document.addEventListener("click", function(event) {
const emojiImage = event.target;
if (emojiImage.classList.contains("emoji")) {
const parentDiv = emojiImage.closest("div[id^='message-content']");
if (parentDiv) {
let source = emojiImage.getAttribute('src');
let parsedUrl = new URL(source);
parsedUrl.searchParams.set("size", "48");
copyTextToClipboard(parsedUrl.toString());
}
}
});
/* Check change in DOM to run functions if needed */
emojisObserver.observe(document.body, { childList: true, subtree: true });
emojiPickerObserver.observe(document.body, { childList: true, subtree: true });
|
ArKa projects. All rights to me, and your next child right arm.