折木 发表于 2024-10-12 17:59:57

【油猴脚本】自定义颜文字选择器 高效站街小助手

本帖最后由 折木 于 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级后第一次爆金币还请大家点点 免费的评分 啦(´▽`ʃ❤ƪ)



cinder 发表于 2024-10-12 18:08:06

對於喜歡裝可愛的我等站街女非常有用呢!{:6_194:}

前方无怪 发表于 2024-10-12 18:08:33

好耶,这下咱可以省去很多选表情的时间啦˙ᗜ˙

Makima 发表于 2024-10-12 18:08:38

修改一下就是管理员能用的了,一键点原因

牛牛要白给了 发表于 2024-10-12 18:09:24

很nice的脚本!这下可以让回帖更加生动可爱惹

你好再见 发表于 2024-10-12 18:10:55

{:6_165:} 竟然生娃了,先恭喜一下,拿个红包。好多快键表情,能让回复变得更可爱。

大零食主义 发表于 2024-10-12 18:10:59

这下又方便站街了呐{:4_108:}

29992980 发表于 2024-10-12 18:11:59

高效站街小助手,哈哈哈

lostorage 发表于 2024-10-12 18:16:41

jesus,感觉某熊猫狂喜

黑达克 发表于 2024-10-12 18:17:31

本帖最后由 黑达克 于 2024-10-12 18:20 编辑

@Name ;@Match ;@icon ;
02.// @Name
07.// @Match
09.// @icon
这几个记得要在代码外面艾特一下,然后再把代码里面的编辑一下,应该就可以了。

wubingyonglei 发表于 2024-10-12 18:18:55

{:6_167:}很有意思,不过我的脚步蛮多+w+。这对于种星爱好人士很适合

相见忧 发表于 2024-10-12 18:19:19

这真的很有用,以后用颜文字特方便

南宁仙子阴婷 发表于 2024-10-12 18:27:14

好美的脚本,可惜平常基本不会用颜文字

1287549 发表于 2024-10-12 18:29:51

哈哈,还好我是手机,手机输入法自带很多颜文字ԅ(¯ㅂ¯ԅ)

hbc 发表于 2024-10-12 18:37:22

abba大佬唱的确实不错啊嘻嘻:P

娱乐法师火布偶 发表于 2024-10-12 18:37:43

最适合兽兽的一个脚本了,可以快速输出颜文字;P

凯诺斯 发表于 2024-10-12 18:38:40

很实用的小功能,可以很好表达自己的心情:loveliness:

Zeperion 发表于 2024-10-12 18:40:01

俺已经过了用颜文字的年纪惹https://img.gamemale.com/album/202304/10/204042ufzp2ukspkoykk5o.png还好快捷键可以自行设置不然铁冲突

abba 发表于 2024-10-12 18:43:36

在小电视看见自己的头像,一脸懵逼地点了进来˳⚆ɞ⚆˳

深暗幽狼 发表于 2024-10-12 18:54:17

噗,以前刚进圈子常用的就是颜文字,现在回看自己当初的聊天记录,真的不忍直视(
页: [1] 2 3 4 5
查看完整版本: 【油猴脚本】自定义颜文字选择器 高效站街小助手