ChatGPT 字符计数器限制 (CCCL)

添加一个字符计数器到输入框,限制为 32732 个字符。(ChatGPT 的限制是 32732 个字符。)

目前为 2024-09-09 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name ChatGPT Character Counter Limit (CCCL)
  3. // @description Adds a character counter to the input field with a limit of 32732 characters. (ChatGPT has a limit of 32732 characters.)
  4. // @name:zh-CN ChatGPT 字符计数器限制 (CCCL)
  5. // @description:zh-CN 添加一个字符计数器到输入框,限制为 32732 个字符。(ChatGPT 的限制是 32732 个字符。)
  6. // @name:ar ChatGPT حد عداد الأحرف (CCCL)
  7. // @description:ar إضافة عداد الأحرف إلى مربع الإدخال,يقتصر على 32732 الشخصيات。(ChatGPT الحد هو 32732 الشخصيات。)
  8. // @name:bg ChatGPT Ограничение на брояча на знаци (CCCL)
  9. // @description:bg Добавете брояч на символи към полето за въвеждане,ограничен до 32732 герои。(ChatGPT Ограничението е 32732 герои。)
  10. // @name:cs ChatGPT Limit počítadla znaků (CCCL)
  11. // @description:cs Do vstupního pole přidejte počítadlo znaků,omezena na 32732 postavy。(ChatGPT Limit je 32732 postavy。)
  12. // @name:da ChatGPT Tegntællergrænse (CCCL)
  13. // @description:da Tilføj en tegntæller til inputfeltet,begrænset til 32732 tegn。(ChatGPT Grænsen er 32732 tegn。)
  14. // @name:de ChatGPT Zeichenzählerlimit (CCCL)
  15. // @description:de Fügen Sie dem Eingabefeld einen Zeichenzähler hinzu,beschränkt auf 32732 Charaktere。(ChatGPT Die Grenze ist 32732 Charaktere。)
  16. // @name:el ChatGPT Όριο μετρητή χαρακτήρων (CCCL)
  17. // @description:el Προσθέστε έναν μετρητή χαρακτήρων στο πλαίσιο εισαγωγής,περιορίζεται σε 32732 χαρακτήρες。(ChatGPT Το όριο είναι 32732 χαρακτήρες。)
  18. // @name:en ChatGPT Character counter limit (CCCL)
  19. // @description:en Add a character counter to the input box,limited to 32732 characters。(ChatGPT The limit is 32732 characters。)
  20. // @name:eo ChatGPT Limo de nombrilo de karakteroj (CCCL)
  21. // @description:eo Aldonu signan nombrilon al la eniga skatolo,limigita al 32732 karakteroj。(ChatGPT La limo estas 32732 karakteroj。)
  22. // @name:es ChatGPT Límite del contador de caracteres (CCCL)
  23. // @description:es Agregue un contador de caracteres al cuadro de entrada,circunscrito a 32732 personajes。(ChatGPT El límite es 32732 personajes。)
  24. // @name:fi ChatGPT Merkkilaskurin raja (CCCL)
  25. // @description:fi Lisää merkkilaskuri syöttöruutuun,rajoitettu 32732 hahmoja。(ChatGPT Raja on 32732 hahmoja。)
  26. // @name:fr ChatGPT Limite du compteur de caractères (CCCL)
  27. // @description:fr Ajouter un compteur de caractères à la zone de saisie,limité à 32732 personnages。(ChatGPT La limite est 32732 personnages。)
  28. // @name:he ChatGPT מגבלת מונה תווים (CCCL)
  29. // @description:he הוסף מונה תווים לתיבת הקלט,מוגבל ל 32732 תווים。(ChatGPT הגבול הוא 32732 תווים。)
  30. // @name:hr ChatGPT Ograničenje brojača znakova (CCCL)
  31. // @description:hr Dodajte brojač znakova u polje za unos,ograničeno na 32732 likovi。(ChatGPT Granica je 32732 likovi。)
  32. // @name:hu ChatGPT Karakterszámláló korlát (CCCL)
  33. // @description:hu Adjon hozzá egy karakterszámlálót a beviteli mezőhöz,korlátozva 32732 karakterek。(ChatGPT A határ az 32732 karakterek。)
  34. // @name:id ChatGPT Batas penghitung karakter (CCCL)
  35. // @description:id Tambahkan penghitung karakter ke kotak input,terbatas pada 32732 karakter。(ChatGPT Batasnya adalah 32732 karakter。)
  36. // @name:it ChatGPT Limite del contatore di caratteri (CCCL)
  37. // @description:it Aggiungi un contatore di caratteri alla casella di input,limitato a 32732 caratteri。(ChatGPT Il limite è 32732 caratteri。)
  38. // @name:ja ChatGPT 文字数カウンターの制限 (CCCL)
  39. // @description:ja 入力ボックスに文字カウンターを追加する,に限定される 32732 キャラクター。(ChatGPT 限界は 32732 キャラクター。)
  40. // @name:ka ChatGPT სიმბოლოების მრიცხველის ლიმიტი (CCCL)
  41. // @description:ka დაამატეთ სიმბოლოების მრიცხველი შეყვანის ველში,შემოიფარგლება 32732 პერსონაჟები。(ChatGPT ლიმიტი არის 32732 პერსონაჟები。)
  42. // @name:ko ChatGPT 문자 카운터 제한 (CCCL)
  43. // @description:ko 입력 상자에 문자 카운터 추가,로 제한됨 32732 문자。(ChatGPT 한도는 32732 문자。)
  44. // @name:nl ChatGPT Limiet voor tekenteller (CCCL)
  45. // @description:nl Voeg een tekenteller toe aan het invoervak,beperkt tot 32732 karakters。(ChatGPT De limiet is 32732 karakters。)
  46. // @name:nb ChatGPT Tegntellergrense (CCCL)
  47. // @description:nb Legg til en tegnteller i inndataboksen,begrenset til 32732 tegn。(ChatGPT Grensen er 32732 tegn。)
  48. // @name:pl ChatGPT Limit licznika znaków (CCCL)
  49. // @description:pl Dodaj licznik znaków do pola wprowadzania,ograniczone do 32732 pismo。(ChatGPT Limit jest 32732 pismo。)
  50. // @name:pt-BR ChatGPT Limite do contador de caracteres (CCCL)
  51. // @description:pt-BR Adicione um contador de caracteres à caixa de entrada,limitado a 32732 personagens。(ChatGPT O limite é 32732 personagens。)
  52. // @name:ro ChatGPT Limita contorului de caractere (CCCL)
  53. // @description:ro Adăugați un numărător de caractere în caseta de introducere,limitat la 32732 personaje。(ChatGPT Limita este 32732 personaje。)
  54. // @name:ru ChatGPT Ограничение счетчика символов (CCCL)
  55. // @description:ru Добавьте счетчик символов в поле ввода,ограничено 32732 персонажи。(ChatGPT Предел 32732 персонажи。)
  56. // @name:sk ChatGPT Limit počítadla znakov (CCCL)
  57. // @description:sk Do vstupného poľa pridajte počítadlo znakov,obmedzené na 32732 postavy。(ChatGPT Limit je 32732 postavy。)
  58. // @name:sr ChatGPT Ограничење бројача знакова (CCCL)
  59. // @description:sr Додајте бројач знакова у поље за унос,ограничен на 32732 ликова。(ChatGPT Граница је 32732 ликова。)
  60. // @name:sv ChatGPT Gräns ​​för teckenräknare (CCCL)
  61. // @description:sv Lägg till en teckenräknare i inmatningsrutan,begränsat till 32732 tecken。(ChatGPT Gränsen är 32732 tecken。)
  62. // @name:th ChatGPT ขีดจำกัดตัวนับอักขระ (CCCL)
  63. // @description:th เพิ่มตัวนับอักขระลงในกล่องอินพุต,จำกัดอยู่ที่ 32732 ตัวอักษร。(ChatGPT ขีดจำกัดคือ 32732 ตัวอักษร。)
  64. // @name:tr ChatGPT Karakter sayacı sınırı (CCCL)
  65. // @description:tr Giriş kutusuna karakter sayacı ekleme,sınırlı 32732 karakterler。(ChatGPT Sınır 32732 karakterler。)
  66. // @name:ug ChatGPT ھەرپ-بەلگە چەكلىمىسى (CCCL)
  67. // @description:ug كىرگۈزۈش رامكىسىغا ھەرپ ھېسابلىغۇچ قوشۇڭ,بىلەنلا چەكلىنىدۇ 32732 ھەرپلەر。(ChatGPT چەك 32732 ھەرپلەر。)
  68. // @name:uk ChatGPT Обмеження лічильника символів (CCCL)
  69. // @description:uk Додайте лічильник символів у поле введення,обмежується 32732 персонажів。(ChatGPT Межа є 32732 персонажів。)
  70. // @name:vi ChatGPT Giới hạn bộ đếm ký tự (CCCL)
  71. // @description:vi Thêm bộ đếm ký tự vào hộp nhập liệu,giới hạn ở 32732 nhân vật。(ChatGPT Giới hạn là 32732 nhân vật。)
  72. // @name:zh-TW ChatGPT 字元計數器限制 (CCCL)
  73. // @description:zh-TW 新增一個字元計數器到輸入框,限制為 32732 個字元。(ChatGPT 的限制是 32732 個字元。)
  74. // @name:zh-HK ChatGPT 字元計數器限制 (CCCL)
  75. // @description:zh-HK 新增一個字元計數器到輸入框,限制為 32732 個字元。(ChatGPT 的限制是 32732 個字元。)
  76. // @name:fr-CA ChatGPT Limite du compteur de caractères (CCCL)
  77. // @description:fr-CA Ajouter un compteur de caractères à la zone de saisie,limité à 32732 personnages。(ChatGPT La limite est 32732 personnages。)
  78. // @namespace https://github.com/ChinaGodMan/UserScripts
  79. // @version 1.3.1.11
  80. // @author Emree.el on instagram ,人民的勤务员 <toniaiwanowskiskr47@gmail.com>
  81. // @match https://chatgpt.com/*
  82. // @grant none
  83. // @license MIT
  84. // @supportURL https://github.com/ChinaGodMan/UserScripts/issues
  85. // @homepageURL https://github.com/ChinaGodMan/UserScripts
  86. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAZlBMVEUAAAD///+hoaFoaGhsbGy7u7vd3d2+vr76+vra2tr29va2trYrKyvg4ODs7OxXV1dgYGCtra0xMTGXl5fExMQ6OjqOjo7R0dEVFRWnp6dSUlIiIiIcHBwLCwt4eHhycnKEhIRHR0f14+hfAAADN0lEQVRYhe1WyZajMAyEsMQshgABEwIJ+f+fbC02W0yHnjnNvNYFDFbZKpUlO86v/e/Wpve/8M4TFckwSvI/cx8z11g2/tw9vZKrEIKe159GUkvwipPxVb4eQQzvYV12XX3Y/x6BT5LqUZkgWixEHF/9/hAAeozz0I8nOtzoccDfg8CbaZQrYkOGYUaEFO2RDUTT4MZefjkMpVcQo5/Wr2DSi9/bhlYPhukvZqf41l3hiiFv8xJR2CslIT+XXfc+YapojY60kG1ZA0rknj+lL4YtnGCQ4lbESSczf5R6Ugc5ee4AoL9KAwbwYXDWXJTXhaDhf2L3R44rxzkbgFgHn55Y0JJjzyeONpYLDn4CCPn7A46VaggjwIB6eEltAOConCUAcZVDXBKIHHgbp9IZ4KW0AZj8LAHaQEzaY0lmHk60AXiQ8XYFEDoVrRpXOmSfdQFfbMe7MuTOJMLU6IJqkh7PuTMVrhosAJCp2xrApA6Lk+p4VllMQjsAcNNkpzeQlKkPHhQb0VkAEgO8TSMaVqhMH/EyW57W2R7moNoBCjwDPg1QzM07QAk7o+wUrIcNwAVZ1ktAROE7gBMaEq4kaW8NgHlQOsrULiUoHjGT40PIqngHOIGYzRK22ggJz3TpbrCt7AMU9gPZwc4y5slJC7FO4woAxmcLgMMi0dF1ymSOtnMEYFDczxqtdJRM6HlAbhSvARIqHG+G5BJGqONoK2opooIMLQFaYMvWs0EJruNRV1b8vy+wqDtbEj2caAcQg5NWdIQL6IJPjIGg1gDKhLINARyxed4DpgLFq+vvKoRiEszGWmlCy0OmcyrqSxKr/eaUzFvDGnDWCX2d5zQmNdJsO4xoz8XeyqcpIdRexZ0BBOYl2r2wyHfwB2WFO0zBjS/Zv2Vc8Pey3l3kor0iR65Q+61Vr6GmttNSOtxRf+jgvfnW3eFa4CZ+3fb1k1q1uC0D3GmKC2s5zkxKvieqWbKQPvFpfbRnNF+pYn/+3ny6m0zW+9eYDIMxlQsbvKuO3zfrV5fWKMc4GLu6G+m2KY/fNNnu6/vu2drTv7fFjVuOP3dHy5MolJEqrKfvoPXp57vpr/3r9gUxwiW4OiuC3wAAAABJRU5ErkJggg==
  87. // ==/UserScript==
  88. (function () {
  89. 'use strict'
  90. // Function to add character counter and handle its behavior
  91. function addCharacterCounter() {
  92. if (document.querySelector('.gpt-charCounter')) {//存在返回
  93. return
  94. }
  95. let textarea = document.querySelector('#prompt-textarea')
  96. if (textarea) {
  97. let charCounter = document.createElement('div')
  98. charCounter.className = 'gpt-charCounter'
  99. charCounter.style.fontSize = '14px'
  100. charCounter.style.fontWeight = 'bold'
  101. charCounter.style.marginTop = '5px'
  102. charCounter.style.color = 'white'
  103. charCounter.style.textShadow = '0px 0px 5px white' // Default text shadow
  104. charCounter.textContent = '0/32732'
  105. textarea.parentElement.appendChild(charCounter)
  106. function updateCounter() {
  107. let charCount = textarea.value.length
  108. charCounter.textContent = `${charCount}/32732`
  109. if (charCount > 32732) {
  110. charCounter.style.color = 'white'
  111. charCounter.style.textShadow = '0px 0px 8px red'
  112. } else if (charCount > 0) {
  113. charCounter.style.color = 'white'
  114. charCounter.style.textShadow = '0px 0px 8px green'
  115. } else {
  116. charCounter.style.color = 'white'
  117. charCounter.style.textShadow = '0px 0px 5px white'
  118. }
  119. }
  120. textarea.addEventListener('input', function () {
  121. updateCounter()
  122. })
  123. document.querySelector('body').addEventListener('click', function (event) {
  124. const button = event.target.closest('button[data-testid="send-button"]')
  125. if (button) updateCounter()
  126. })
  127. }
  128. }
  129. let lastUrl = location.href
  130. new MutationObserver(() => {
  131. const url = location.href
  132. if (url !== lastUrl) {
  133. lastUrl = url
  134. addCharacterCounter()
  135. console.log("change", url)
  136. }
  137. }).observe(document, { subtree: true, childList: true })
  138. // Run the function after the page loads
  139. window.addEventListener('load', addCharacterCounter)
  140. })()