【油猴脚本】自定义颜文字选择器 高效站街小助手
本帖最后由 折木 于 2024-10-12 22:27 编辑功能演示
写这个脚本的动机是论坛的自带表情太少了且不支持传统emjio,用电脑输入颜文字也比较花时间,所以我干脆写了个脚本把常用的颜文字整合在一起方便回帖时选择。
脚本介绍
[*]使用方法
安装完脚本后按下CTRL+Q即可唤起选择框,再次按下即可关闭选择框
可以自行在下面代码中添加或修改自己常用的颜文字
const emojis = [ '(´▽`ʃ❤ƪ)','ヾ ˙Ⱉ˙ฅ', '(╬•̀皿•́)', 'ᕙ(`▽´)ᕗ', ' ⚆_⚆?',
'ど⁰꒨⁰う♡', '(≧▽≦)', 'ƪ(˘⌣˘)ʃ', 'o(*////▽////*)q', '( ̄ε ̄)',
'(^ω^)', '( ̄︶ ̄)', '(ˉ﹃ˉ)','⌓‿⌓', '(´• ω •)', '˳⚆ɞ⚆˳',
'_(:з)∠)_', '⊙﹏⊙∥', '┗|`O′|┛ 嗷~~', '૮₍❀ᴗ͈ . ᴗ͈ ₎ა','(〃` 3′〃)',
'(*/ω\*)','≧ ﹏ ≦','ಠ_ಠ','ψ(`∇´)ψ'];
[*]使用范围
当前脚本仅支持正常回帖以及楼中楼回复
[*]注意事项
若快捷键冲突可自行修改脚本中所使用的快捷键
if (event.ctrlKey && event.key === 'q')
代码
@Name;@Match ;@icon ;
// ==UserScript==
// @name Emoji Selector
// @namespace http://tampermonkey.net/
// @version 2024-10-09
// @description Select emojis with Ctrl+Q
// @author 折木
// @match https://www.gamemale.com/thread*
// @match https://www.gamemale.com/forum.php?*
// @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA2BJREFUWEfFl1nITVEUx39f4cmUIUMpJBkiM5klQ8pUpi8SIfNQEk94MYUHY+YXHiTKnDGkZJ5lSF5kTkg8SLH/Wlv7nu+ce+7t3tu363S75+zhv9b6r/9au4xKHmWVfD75AqgN9Ae6Ag2AhmbAe+ADcMt9vwx8zdWwXAEMBBYAQ4HbwHngrT06q7E9g4AuwBlgM3AxDUguAHYD0521O4CNwMuUTVsAi4FZwB5gIfAzaU0agNPOij7AEgOQZlD4XQDWA8+B0cDruMXZAPwxVw/O59SYuecAH5o70e9JAB4Aj5y7JxV4uF9+ABCP2riQfAn3jAOwExgD1C3S4X6bz8BRF4pp2QB0NpYPAeS6Yg554AIwEjjuN456QNb/AuYX8+Rgrw0uRXs4IL3jAFR1qSNB6WnMLQWG5sAz48NVHRB6QG5f7pjfK+XkOkB7U7xwqhRSKpg2DjuOPXaTVkYBKGd/+A8Ju0w0hTsBTInMuWTA5OY1WVAI6CpvaOiBs8ARJ6m7ALlKaibxuG6WaaEOkc7PBg4GhzQCZlr2tAWGO0k+aXVDpKsGaH+RryUggZNiZoRA8ZfkauEhYKwdIDmdAWwD5kTWKI6/gQEBGAmYjBCgZYE3JEKqEzWshug3A8BHYKqrdKfMUlmssR2Ya6BE0NbOO99to6c2J/ruGjDOwrnC5oQA3gHVowDkXinWXlsgL2jIildmvbzg50hQvFJG3+nbPqApIAAq34tMBxQChaNZFIA2f+PitTqBQPUBka978F2urulSa0LwTtwoz0JCFTdV1W5RAIq5BKhvSh6NcGTqZJ7wpbkDMAq4G6pcwj6bgCoW1gwO1HMvPzl2tyqhEDVxpVmFbrKRvUJLdgwQsRT3Uoy1Fh4J2bdoCPTfFwzp9Y0iIxB3pCnKKGXWvxFXjtWCKV87FhnAPacNSr9h4b5xAGo5Qt23FmxdkUAsBeR+FTwJ1/+R1BG1Ax5aVmwtEMQ819xscdwab2KWsV22nlDt0xNAqqY8j20qs4AT46UJUk9fGypMT+uKBWK/FZB8OmPfEb+wwnUzCWgaAK1TJdOlRP29CpZaNX8xEak0VA11OVH3qy5aNyYJji4n6rASRy4A/GJ/LetnMqqrmR4NXcv0yNIr+VzP8gFQIBfjl1c6gL/k+qch3DQ/RwAAAABJRU5ErkJggg==
// @grant none
// ==/UserScript==
(function() {
'use strict';
const emojis = [ '(´▽`ʃ❤ƪ)','ヾ ˙Ⱉ˙ฅ', '(╬•̀皿•́)', 'ᕙ(`▽´)ᕗ', ' ⚆_⚆?',
'ど⁰꒨⁰う♡', '(≧▽≦)', 'ƪ(˘⌣˘)ʃ', 'o(*////▽////*)q', '( ̄ε ̄)',
'(^ω^)', '( ̄︶ ̄)', '(ˉ﹃ˉ)','⌓‿⌓', '(´• ω •)', '˳⚆ɞ⚆˳',
'_(:з)∠)_', '⊙﹏⊙∥', '┗|`O′|┛ 嗷~~', '૮₍❀ᴗ͈ . ᴗ͈ ₎ა','(〃` 3′〃)',
'(*/ω\*)','≧ ﹏ ≦','ಠ_ಠ','ψ(`∇´)ψ']; // Add more emojis as needed
let isSelectorOpen = false;
function insertEmoji(emoji) {
const textareas = document.querySelectorAll('textarea');
textareas.forEach(textarea => {
const startPos = textarea.selectionStart;
const endPos = textarea.selectionEnd;
const text = textarea.value;
const newText = text.substring(0, startPos) + emoji + text.substring(endPos, text.length);
textarea.value = newText;
});
}
function createEmojiSelector() {
const selector = document.createElement('div');
selector.id = 'emojiSelector'; // Unique ID for the selector element
selector.style.position = 'fixed';
selector.style.top = '65%';
selector.style.left = '60%';
selector.style.transform = 'translate(-50%, -50%)';
selector.style.backgroundColor = 'rgba(255, 255, 255, 0.4)';
selector.style.backdropFilter = 'blur(10px) opacity(0.9)';
selector.style.padding = '20px';
selector.style.border = '1px solid #ccc';
selector.style.boxShadow = '0 2px 5px rgba(0,0,0,0.2)';
selector.style.borderRadius = '10px';
selector.style.zIndex = '9999';
emojis.forEach(emoji => {
const button = document.createElement('button');
button.textContent = emoji;
button.style.fontSize = '20px';
button.style.margin = '5px';
button.style.background = 'transparent';
button.style.color = '#90cf5b';
button.style.border = '2px solid #027efb';
button.style.borderRadius = '0';
button.style.boxShadow = '2px 2px 5px rgba(0,0,0,0.2)';
button.addEventListener('click', () => {
insertEmoji(emoji);
});
selector.appendChild(button);
});
document.body.appendChild(selector);
}
document.addEventListener('keydown', (event) => {
if (event.ctrlKey && event.key === 'q') {
if (!isSelectorOpen) {
createEmojiSelector();
isSelectorOpen = true;
} else {
const selector = document.getElementById('emojiSelector');
if (selector) {
selector.remove();
isSelectorOpen = false;
}
}
}
});
})();
这是萌新10级后第一次爆金币还请大家点点 免费的评分 啦(´▽`ʃ❤ƪ)
對於喜歡裝可愛的我等站街女非常有用呢!{:6_194:} 好耶,这下咱可以省去很多选表情的时间啦˙ᗜ˙ 修改一下就是管理员能用的了,一键点原因 很nice的脚本!这下可以让回帖更加生动可爱惹 {:6_165:} 竟然生娃了,先恭喜一下,拿个红包。好多快键表情,能让回复变得更可爱。 这下又方便站街了呐{:4_108:} 高效站街小助手,哈哈哈 jesus,感觉某熊猫狂喜 本帖最后由 黑达克 于 2024-10-12 18:20 编辑
@Name ;@Match ;@icon ;
02.// @Name
07.// @Match
09.// @icon
这几个记得要在代码外面艾特一下,然后再把代码里面的编辑一下,应该就可以了。 {:6_167:}很有意思,不过我的脚步蛮多+w+。这对于种星爱好人士很适合 这真的很有用,以后用颜文字特方便 好美的脚本,可惜平常基本不会用颜文字 哈哈,还好我是手机,手机输入法自带很多颜文字ԅ(¯ㅂ¯ԅ) abba大佬唱的确实不错啊嘻嘻:P 最适合兽兽的一个脚本了,可以快速输出颜文字;P 很实用的小功能,可以很好表达自己的心情:loveliness: 俺已经过了用颜文字的年纪惹https://img.gamemale.com/album/202304/10/204042ufzp2ukspkoykk5o.png还好快捷键可以自行设置不然铁冲突 在小电视看见自己的头像,一脸懵逼地点了进来˳⚆ɞ⚆˳ 噗,以前刚进圈子常用的就是颜文字,现在回看自己当初的聊天记录,真的不忍直视(