您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replaces old iOS emojis with Emojione on Telegram Web
当前为
// ==UserScript== // @name Telegram Web Emojione // @namespace https://gf.qytechs.cn/users/649 // @version 1.0.12 // @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, "\\$&"); } }; var sizes = [ { size: 20 }, { class: ['im_short_message_text', 'im_short_message_media'], size: 16 }, { class: ['composer_emoji_tooltip', 'stickerset_modal_sticker_alt'], size: 26 } ]; Util.appendStyle(sizes.map(function(size) { var output = '.emojione'; if (size.class) { output = size.class.map(function(c) { return '.' + c + ' .emojione'; }).join(', '); } return output + ' {width: ' + size.size + 'px;}'; }).join('')); 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, watch, watchContinuously) { var html = ''; Util.qq('.emoji', msg).forEach(function(emoji) { emoji.outerHTML = emoji.textContent; }); msg.childNodes.forEach(function(node) { var content = node.textContent; if (content) { for (var property in replacements) { if (replacements.hasOwnProperty(property)) { content = content.replace(new RegExp(Util.regexEscape(property), 'g'), replacements[property]); } } var withEmoji = emojione.toImage(emojione.shortnameToUnicode(content)); if (node.nodeType === Node.TEXT_NODE) { html += withEmoji; } else { node.innerHTML = withEmoji; html += node.outerHTML; } } else { if (node.nodeType !== Node.TEXT_NODE) { html += node.outerHTML; } } }); msg.innerHTML = html; if (watch) { var changes = waitForElems({ context: msg, onchange: function() { changes.stop(); convert(msg, watchContinuously, watchContinuously); } }); if (!watchContinuously) { setTimeout(function() { changes.stop(); }, 1000); // if no changes after 1 second, assume no changes } } }; waitForElems({ sel: [ '.im_message_text', '.im_message_author', '.im_message_webpage_site', '.im_message_webpage_title > a', '.im_message_webpage_description', '.im_dialog_peer > span', '.stickerset_modal_sticker_alt' ].join(','), onmatch: function(msg) { convert(msg, true); } }); waitForElems({ sel: [ '.im_short_message_text', '.im_short_message_media > span > span > span' ].join(','), onmatch: function(msg) { convert(msg, true, true); } }); waitForElems({ sel: '.composer_emoji_btn', onmatch: function(btn) { btn.innerHTML = emojione.toImage(replacements[btn.title] || btn.title); } }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址