GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 2179|回复: 88
收起左侧

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

    [复制链接] |关注本帖

火柴 - 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

    评分

    参与人数 26血液 +53 追随 +26 堕落 +11 收起 理由
    singto + 1 + 1
    仰望星空的白熊 + 3 + 1 + 1
    小幸运 + 1
    Kogenta + 1 + 1 (^ω^)
    brok椰子 + 1
    183843521 + 1 + 1
    you9632587 + 5 + 1
    Okabe + 3 + 1 赞一个(´• ω •)
    Zayne03 + 2 + 1 很给力!
    huximiaomiao + 1 赞一个!

    查看全部评分

    本帖被以下淘专辑推荐:

    回复

    使用道具 举报

    BIG BOSS虚空之海的鲸雄躯的昇格爬行植物Ⓛ粉猪猪储蓄罐㊖爬行植物Ⓡ

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

      使用道具 举报

      阿怪GHOST吃饱金币的Doge秘密空瓶裸体克里斯【圣诞限定】心心念念小雪人【夏日限定】夏日的泰凯斯史莱姆牧场虚空之海的鲸不朽之恋

        回复

        使用道具 举报

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

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

          使用道具 举报

          阿怪『矩阵谜钥Ⓖ』『梦旅存根』『交钥匙了!』夏日柯基幸福的小阿尔GM吸血伯爵永远的克叔【夏日限定】夏日的泰凯斯

            回复

            使用道具 举报

            撑破的储蓄罐克里斯·埃文斯杰森‧斯坦森.冰海钓竿BIG BOSS男用贞操带光之战士月亮提灯伪造的红石海螺号角

              回帖奖励 +10 枚金币

              回复

              使用道具 举报

              SCP-s-1889-第五页诞星之所虚空之海的鲸

                回复

                使用道具 举报

                  回复

                  使用道具 举报

                  死亡化身格拉迪欧拉斯穿过的白袜Drover.男用贞操带卡洛斯·奥利维拉Chris Mazdzer.Life of Water『落樱缤纷』

                    回复

                    使用道具 举报

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

                      回帖奖励 +10 枚金币

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

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

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

                      使用道具 举报

                      Futūrum(未来)夜灯撑破的储蓄罐诺克提斯·路西斯·伽拉姆人到中年里昂‧S‧甘乃迪皮尔斯‧尼凡斯普隆普特·阿金塔姆威尔卡斯

                        回帖奖励 +10 枚金币

                        回复

                        使用道具 举报

                        白猪猪储蓄罐㊖

                          回复

                          使用道具 举报

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

                            回复

                            使用道具 举报

                            虚空之海的鲸BIG BOSS千里潋滟炽天使之拥不洁圣子古老金币日荒戒指森林鹿黄金树的恩惠

                              回帖奖励 +10 枚金币

                              回复

                              使用道具 举报

                              阿列克西欧斯(Alexios)金刚狼格拉迪欧拉斯詹姆斯‧维加索尔·奥丁森.肥皂裸体克里斯神力无穷

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

                                使用道具 举报

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

                                  回复

                                  使用道具 举报

                                  金猪猪储蓄罐㊖『随时随地开启!』漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

                                    回复

                                    使用道具 举报

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

                                      回帖奖励 +10 枚金币

                                      回复

                                      使用道具 举报

                                      金猪猪储蓄罐㊖小丑与格雷与星光璀璨

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

                                        使用道具 举报

                                        男巫之歌業火死鬥山村贞子月影狼

                                          回帖奖励 +10 枚金币

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

                                          使用道具 举报

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

                                          本版积分规则

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

                                          GMT+8, 2024-11-21 19:02 , Processed in 0.147889 second(s), 145 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表