Update DiscordFreeEmojis64pxInstaller.ps1

This commit is contained in:
An00nymushun
2021-03-13 12:10:24 +01:00
committed by GitHub
parent 5bc02b82f0
commit a2d5c8995a

View File

@@ -107,9 +107,9 @@ const BaseColor = "#0cf";
var Discord; var Discord;
var Utils = { var Utils = {
Log: (message) => { console.log(\`%c[FreeEmojis] %c\${message}\`, \`color:\${BaseColor};font-weight:bold\`, "") }, Log: (message) => { console.log(`%c[FreeEmojis] %c${message}`, `color:${BaseColor};font-weight:bold`, "") },
Warn: (message) => { console.warn(\`%c[FreeEmojis] %c\${message}\`, \`color:\${BaseColor};font-weight:bold\`, "") }, Warn: (message) => { console.warn(`%c[FreeEmojis] %c${message}`, `color:${BaseColor};font-weight:bold`, "") },
Error: (message) => { console.error(\`%c[FreeEmojis] %c\${message}\`, \`color:\${BaseColor};font-weight:bold\`, "") } Error: (message) => { console.error(`%c[FreeEmojis] %c${message}`, `color:${BaseColor};font-weight:bold`, "") }
}; };
function Init(nonInvasive) function Init(nonInvasive)
@@ -170,36 +170,37 @@ function Init(nonInvasive)
const findModuleByUniqueProperties = (propNames, nonInvasive) => findModule(module => propNames.every(prop => module[prop] !== undefined), nonInvasive); const findModuleByUniqueProperties = (propNames, nonInvasive) => findModule(module => propNames.every(prop => module[prop] !== undefined), nonInvasive);
let emojisModule = findModuleByUniqueProperties([ 'getDisambiguatedEmojiContext', 'filterExternal' ], nonInvasive); let emojisModule = findModuleByUniqueProperties([ 'getDisambiguatedEmojiContext', 'search' ], nonInvasive);
if(emojisModule == null) { if(!nonInvasive) Utils.Error("emojisModule not found."); return 0; } if(emojisModule == null) { if(!nonInvasive) Utils.Error("emojisModule not found."); return 0; }
let messageEmojiParserModule = findModuleByUniqueProperties([ 'parse', 'parsePreprocessor', 'unparse' ], nonInvasive); let messageEmojiParserModule = findModuleByUniqueProperties([ 'parse', 'parsePreprocessor', 'unparse' ], nonInvasive);
if(messageEmojiParserModule == null) { if(!nonInvasive) Utils.Error("messageEmojiParserModule not found."); return 0; } if(messageEmojiParserModule == null) { if(!nonInvasive) Utils.Error("messageEmojiParserModule not found."); return 0; }
let emojiPickerModule = findModuleByUniqueProperties([ 'useEmojiSelectHandler' ], nonInvasive); let emojiPickerModule = findModuleByUniqueProperties([ 'useEmojiSelectHandler' ], nonInvasive);
if(emojiPickerModule == null) { if(!nonInvasive) Utils.Error("emojiPickerModule not found."); return 0; } if(emojiPickerModule == null) { if(!nonInvasive) Utils.Error("emojiPickerModule not found."); return 0; }
const original_filterExternal = emojisModule.filterExternal; const original_search = emojisModule.search;
emojisModule.filterExternal = function(guild, query, n) { emojisModule.search = function() {
let emojis = emojisModule.getDisambiguatedEmojiContext(guild ? guild.guild_id : null).nameMatchesChain(query); let result = Discord.original_search.apply(this, arguments);
if(n > 0) emojis = emojis.take(n); result.unlocked.push(...result.locked);
return emojis.value(); result.locked = [];
} return result;
}
const original_parse = messageEmojiParserModule.parse; const original_parse = messageEmojiParserModule.parse;
messageEmojiParserModule.parse = function() { messageEmojiParserModule.parse = function() {
let result = original_parse.apply(this, arguments); let result = original_parse.apply(this, arguments);
if(result.invalidEmojis.length !== 0) { if(result.invalidEmojis.length !== 0) {
for(let emoji of result.invalidEmojis) { for(let emoji of result.invalidEmojis) {
result.content = result.content.replace(\`<\${emoji.animated ? "a" : ""}:\${emoji.originalName || emoji.name}:\${emoji.id}>\`, emoji.url.split("?")[0] + "?size=64"); result.content = result.content.replace(`<${emoji.animated ? "a" : ""}:${emoji.originalName || emoji.name}:${emoji.id}>`, emoji.url.split("?")[0] + "?size=64");
} }
result.invalidEmojis = []; result.invalidEmojis = [];
} }
return result; return result;
}; };
const original_useEmojiSelectHandler = emojiPickerModule.useEmojiSelectHandler; const original_useEmojiSelectHandler = emojiPickerModule.useEmojiSelectHandler;
emojiPickerModule.useEmojiSelectHandler = function(args) { emojiPickerModule.useEmojiSelectHandler = function(args) {
const { onSelectEmoji, closePopout } = args; const { onSelectEmoji, closePopout } = args;
const originalHandler = original_useEmojiSelectHandler.apply(this, arguments); const originalHandler = original_useEmojiSelectHandler.apply(this, arguments);
return function(data, state) { return function(data, state) {
@@ -212,13 +213,14 @@ function Init(nonInvasive)
if(state.isFinalSelection) closePopout(); if(state.isFinalSelection) closePopout();
} }
}; };
}; };
Utils.Log("loaded"); Utils.Log("loaded");
return 1; return 1;
} }
var InitFails = 0; var InitFails = 0;
function TryInit() function TryInit()
{ {