Replaces old iOS emojis with Emojione on Telegram Web
当前为
// ==UserScript==
// @name Telegram Web Emojione
// @namespace https://gf.qytechs.cn/users/649
// @version 1.0.3
// @description Replaces old iOS emojis with Emojione on Telegram Web
// @author Adrien Pyke
// @match *://web.telegram.org/*
// @grant none
// @require https://gf.qytechs.cn/scripts/38329-emojione-min-js/code/emojioneminjs.js?version=250047
// @require https://gf.qytechs.cn/scripts/5679-wait-for-elements/code/Wait%20For%20Elements.js?version=147465
// ==/UserScript==
(function() {
'use strict';
var SCRIPT_NAME = 'Telegram Web Emojione';
var Util = {
log: function() {
var args = [].slice.call(arguments);
args.unshift('%c' + SCRIPT_NAME + ':', 'font-weight: bold;color: #233c7b;');
console.log.apply(console, args);
},
q: function(query, context) {
return (context || document).querySelector(query);
},
qq: function(query, context) {
return [].slice.call((context || document).querySelectorAll(query));
},
appendStyle: function(str) {
var style = document.createElement('style');
style.textContent = str;
document.head.appendChild(style);
},
regexEscape: function(str) {
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
},
textContentWithBreaks: function(node) {
var lines = [];
node.innerHTML.split('<br>').forEach(function(line) {
var tempDiv = document.createElement('div');
tempDiv.innerHTML = line;
lines.push(tempDiv.textContent);
});
return lines.join('\n');
}
};
Util.appendStyle('.emojione {width: 18px;} ');
var replacements = {
':+1:': ':thumbsup:',
':facepunch:': ':punch:',
':hand:': ':raised_hand:',
':moon:': ':waxing_gibbous_moon:',
':phone:': ':telephone:',
':hocho:': ':knife:',
':boat:': ':sailboat:',
':car:': ':red_car:',
':large_blue_circle:': ':blue_circle:'
};
var convert = function(msg) {
var content = Util.textContentWithBreaks(msg);
for (var property in replacements) {
if (replacements.hasOwnProperty(property)) {
content = content.replace(new RegExp(Util.regexEscape(property), 'g'), replacements[property]);
}
}
msg.innerHTML = emojione.toImage(emojione.shortnameToUnicode(content));
};
var selectors = [
'.im_message_text',
'.im_message_author',
'.im_message_webpage_site',
'.im_message_webpage_title',
'.im_message_webpage_description',
'.im_short_message_text',
'.im_dialog_peer > span'
];
waitForElems({
sel: selectors.join(','),
onmatch: function(msg) {
convert(msg);
setTimeout(function() {
Util.log(msg.innerHTML);
if (msg.innerHTML.indexOf('<img') === -1) {
convert(msg);
}
}, 200);
}
});
waitForElems({
sel: '.composer_emoji_btn',
onmatch: function(btn) {
btn.innerHTML = emojione.toImage(replacements[btn.title] || btn.title);
}
});
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址