Enable custom reacts fb

Enable custom reacts

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey, Greasemonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

You will need to install an extension such as Tampermonkey to install this script.

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name Enable custom reacts fb
// @namespace https://www.xda-developers.com
// @version 1.3
// @description Enable custom reacts
// @author Adam Conway
// @match https://www.facebook.com/messages/*
// @grant none
// ==/UserScript==

(function() {
'use strict';

const heart = '\u2764';
const clown = '\u{1F921}';

const heartEncoded = encodeURIComponent(heart);

const promptText = `React with:`;


const oldOpen = XMLHttpRequest.prototype.open;

XMLHttpRequest.prototype.open = function() {
const query = arguments[1];

// Catch heart react specifically
if (query.includes('ADD_REACTION') && query.includes(heartEncoded)) {
// Get replacement reaction
const new_reaction = prompt(promptText, heart);
const encoded = encodeURIComponent(new_reaction);

// Replacing queries
arguments[1] = query.replace(heartEncoded, encoded);
}

// Send
oldOpen.apply(this, arguments);
}
})();