GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1530|回复: 84
收起左侧

[功能优化] 【油猴脚本】自定义颜文字选择器 高效站街小助手

    [复制链接] |关注本帖

火柴 - Gamemale萨菲罗斯炽天使之拥亚索诺克提斯·路西斯·伽拉姆超人官复原职業火死鬥猎户座的明珠

     楼主| 折木 发表于 2024-10-12 17:59:57 | 显示全部楼层 |阅读模式 |取消关注该作者的回复
    本帖最后由 折木 于 2024-10-12 22:27 编辑


    功能演示

    写这个脚本的动机是论坛的自带表情太少了且不支持传统emjio,用电脑输入颜文字也比较花时间,所以我干脆写了个脚本把常用的颜文字整合在一起方便回帖时选择。


    脚本介绍
    • 使用方法
    安装完脚本后按下CTRL+Q即可唤起选择框,再次按下即可关闭选择框
    可以自行在下面代码中添加或修改自己常用的颜文字

    1.     const emojis = [ '(´▽`ʃ❤ƪ)','ヾ ˙Ⱉ˙ฅ', '(╬•̀皿•́)', 'ᕙ(`▽´)ᕗ', ' ⚆_⚆?',
    2.                     'ど⁰꒨⁰う♡', '(≧▽≦)', 'ƪ(˘⌣˘)ʃ', 'o(*////▽////*)q', '( ̄ε ̄)',
    3.                     '(^ω^)', '( ̄︶ ̄)', '(ˉ﹃ˉ)','⌓‿⌓', '(´• ω •)', '˳⚆ɞ⚆˳',
    4.                     '_(:з)∠)_', '⊙﹏⊙∥', '┗|`O′|┛ 嗷~~', '૮₍❀ᴗ͈ . ᴗ͈ ₎ა','(〃` 3′〃)',
    5.                    '(*/ω\*)','≧ ﹏ ≦','ಠ_ಠ','ψ(`∇´)ψ'];
    复制代码

    • 使用范围
    当前脚本仅支持正常回帖以及楼中楼回复
    • 注意事项
    若快捷键冲突可自行修改脚本中所使用的快捷键
    if (event.ctrlKey && event.key === 'q')

    代码
    @Name  ;@Match@icon
    1. // ==UserScript==
    2. // @name       Emoji Selector
    3. // @namespace     http://tampermonkey.net/
    4. // @version       2024-10-09
    5. // @description   Select emojis with Ctrl+Q
    6. // @author        折木
    7. // @match         https://www.gamemale.com/thread*
    8. // @match         https://www.gamemale.com/forum.php?*
    9. // @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==
    10. // @grant         none
    11. // ==/UserScript==

    12. (function() {
    13.     'use strict';

    14.     const emojis = [ '(´▽`ʃ❤ƪ)','ヾ ˙Ⱉ˙ฅ', '(╬•̀皿•́)', 'ᕙ(`▽´)ᕗ', ' ⚆_⚆?',
    15.                     'ど⁰꒨⁰う♡', '(≧▽≦)', 'ƪ(˘⌣˘)ʃ', 'o(*////▽////*)q', '( ̄ε ̄)',
    16.                     '(^ω^)', '( ̄︶ ̄)', '(ˉ﹃ˉ)','⌓‿⌓', '(´• ω •)', '˳⚆ɞ⚆˳',
    17.                     '_(:з)∠)_', '⊙﹏⊙∥', '┗|`O′|┛ 嗷~~', '૮₍❀ᴗ͈ . ᴗ͈ ₎ა','(〃` 3′〃)',
    18.                    '(*/ω\*)','≧ ﹏ ≦','ಠ_ಠ','ψ(`∇´)ψ']; // Add more emojis as needed

    19.     let isSelectorOpen = false;

    20.     function insertEmoji(emoji) {
    21.         const textareas = document.querySelectorAll('textarea');

    22.         textareas.forEach(textarea => {
    23.             const startPos = textarea.selectionStart;
    24.             const endPos = textarea.selectionEnd;
    25.             const text = textarea.value;
    26.             const newText = text.substring(0, startPos) + emoji + text.substring(endPos, text.length);
    27.             textarea.value = newText;
    28.         });
    29.     }

    30.     function createEmojiSelector() {
    31.         const selector = document.createElement('div');
    32.         selector.id = 'emojiSelector'; // Unique ID for the selector element
    33.         selector.style.position = 'fixed';
    34.         selector.style.top = '65%';
    35.         selector.style.left = '60%';
    36.         selector.style.transform = 'translate(-50%, -50%)';
    37.         selector.style.backgroundColor = 'rgba(255, 255, 255, 0.4)';
    38.         selector.style.backdropFilter = 'blur(10px) opacity(0.9)';
    39.         selector.style.padding = '20px';
    40.         selector.style.border = '1px solid #ccc';
    41.         selector.style.boxShadow = '0 2px 5px rgba(0,0,0,0.2)';
    42.         selector.style.borderRadius = '10px';
    43.         selector.style.zIndex = '9999';

    44.         emojis.forEach(emoji => {
    45.             const button = document.createElement('button');
    46.             button.textContent = emoji;
    47.             button.style.fontSize = '20px';
    48.             button.style.margin = '5px';
    49.             button.style.background = 'transparent';
    50.             button.style.color = '#90cf5b';
    51.             button.style.border = '2px solid #027efb';
    52.             button.style.borderRadius = '0';
    53.             button.style.boxShadow = '2px 2px 5px rgba(0,0,0,0.2)';
    54.             button.addEventListener('click', () => {
    55.                 insertEmoji(emoji);
    56.             });
    57.             selector.appendChild(button);
    58.         });

    59.         document.body.appendChild(selector);
    60.     }

    61.     document.addEventListener('keydown', (event) => {
    62.         if (event.ctrlKey && event.key === 'q') {
    63.             if (!isSelectorOpen) {
    64.                 createEmojiSelector();
    65.                 isSelectorOpen = true;
    66.             } else {
    67.                 const selector = document.getElementById('emojiSelector');
    68.                 if (selector) {
    69.                     selector.remove();
    70.                     isSelectorOpen = false;
    71.                 }
    72.             }
    73.         }
    74.     });
    75. })();
    复制代码


    这是萌新10级后第一次爆金币
    还请大家点点 免费的评分 啦(´▽`ʃƪ)




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x

    评分

    参与人数 24血液 +49 追随 +24 堕落 +10 收起 理由
    小幸运 + 1
    Kogenta + 1 + 1 (^ω^)
    brok椰子 + 1
    183843521 + 1 + 1
    you9632587 + 5 + 1
    Okabe + 3 + 1 赞一个(´• ω •)
    Zayne03 + 2 + 1 很给力!
    huximiaomiao + 1 赞一个!
    星之子 + 5 + 1 + 1 (*/ω\*)
    1017186309 + 1

    查看全部评分

    本帖被以下淘专辑推荐:

    回复

    使用道具 举报

    人到中年玄生万物风物长宜幽浮起司煲近地夜航御医神兔幸运女神的微笑

      cinder 发表于 2024-10-12 18:08:06 | 显示全部楼层 |取消关注该作者的回复
      回复

      使用道具 举报

      幸运女神的微笑『逆境中的幸运女神』秘密空瓶阿怪GHOST裸体克里斯【圣诞限定】心心念念小雪人【夏日限定】夏日的泰凯斯史莱姆牧场不朽之恋

        回复

        使用道具 举报

        征服之王被释放的灵魂死灵之书圣甲虫秘典破损的旧书吃饱金币的Doge生金蛋的鹅内森·德雷克果体76Futūrum(未来)

          Makima 发表于 2024-10-12 18:08:38 | 显示全部楼层 |取消关注该作者的回复
          回复

          使用道具 举报

          没有梦想的咸鱼阿怪『矩阵谜钥Ⓖ』『梦旅存根』『交钥匙了!』夏日柯基幸福的小阿尔GM吸血伯爵不朽之恋永远的克叔

            回复

            使用道具 举报

            灵光补脑剂千杯不醉收到情书没有梦想的咸鱼魔法石碑远古石碑月亮提灯皮尔斯‧尼凡斯布莱恩‧欧康纳冒险专用绳索

              回帖奖励 +10 枚金币

              回复

              使用道具 举报

              SCP-s-1889-第五页不朽之恋

                回复

                使用道具 举报

                  回复

                  使用道具 举报

                  没有梦想的咸鱼死亡化身格拉迪欧拉斯穿过的白袜Drover男用贞操带卡洛斯·奥利维拉Chris MazdzerLife of Water

                    回复

                    使用道具 举报

                    亚索月影狼晓月终焉旅行骰子!卡利亚权杖

                      回帖奖励 +10 枚金币

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

                      @Name@Match@icon
                      1. 02.// @Name
                      2. 07.// @Match
                      3. 09.// @icon
                      复制代码

                      这几个记得要在代码外面艾特一下,然后再把代码里面的编辑一下,应该就可以了。
                      回复

                      使用道具 举报

                      安德森‧戴维斯幸运女神的微笑遗忘之水『逆境中的幸运女神』威尔卡斯诺克提斯·路西斯·伽拉姆里昂‧S‧甘乃迪不朽之恋Futūrum(未来)

                        回帖奖励 +10 枚金币

                        回复

                        使用道具 举报

                        没有梦想的咸鱼召唤古代战士水泡术思绪骤聚神秘商店贵宾卡萨赫的蛋糕史莱哲林收到情书我已倾听,我已感受,我已思考『伊黎丝的赞词』

                          回复

                          使用道具 举报

                          【新手友好】昆進近地夜航超人库伦 (起源)杰克·莫里森阿尔萨斯‧米奈希尔

                            回复

                            使用道具 举报

                            捡到了肥皂Act of Ultimate Trust最终幻想XVI罗宾·西克劫掠核芯不洁圣子古老金币日荒戒指森林鹿

                              回帖奖励 +10 枚金币

                              回复

                              使用道具 举报

                              阿列克西欧斯(Alexios)詹姆斯‧维加冒险专用绳索索尔·奥丁森人鱼之泪裸体克里斯奸笑的面具神力无穷

                                hbc 发表于 2024-10-12 18:37:22 | 显示全部楼层 |取消关注该作者的回复
                                回复

                                使用道具 举报

                                百相千面-晦永远的克叔業火死鬥实现梦想官复原职虚空之海的鲸Zootopia幸运女神的微笑『逆境中的幸运女神』御医神兔

                                  回复

                                  使用道具 举报

                                  不曾寄出的信件小小舞台漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

                                    回复

                                    使用道具 举报

                                    克莱夫・罗兹菲尔德巴哈姆特约书亚・罗兹菲尔德吉尔·沃瑞克最终幻想XVI

                                      回帖奖励 +10 枚金币

                                      回复

                                      使用道具 举报

                                      特殊-家园卫士Ⓡ???特殊-家园卫士Ⓛ『逆境中的幸运女神』幸运女神的微笑『召唤好运的角笛』

                                        abba 发表于 2024-10-12 18:43:36 | 显示全部楼层 |取消关注该作者的回复
                                        回复

                                        使用道具 举报

                                        启示录旧日支配者—克苏鲁山村贞子可怖的眼球

                                          回帖奖励 +10 枚金币

                                          噗,以前刚进圈子常用的就是颜文字,现在回看自己当初的聊天记录,真的不忍直视(
                                          回复

                                          使用道具 举报

                                          您需要登录后才可以回帖 登录 | 立即注册

                                          本版积分规则

                                          文字版|手机版|小黑屋|GameMale

                                          GMT+8, 2024-10-24 05:18 , Processed in 0.144344 second(s), 145 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表