|
199 | 199 | // @description:zh-TW 從無所不知的 ChatGPT 生成無窮無盡的答案 (用任何語言!) |
200 | 200 | // @author Adam Lui |
201 | 201 | // @namespace https://github.com/adamlui |
202 | | -// @version 2025.9.5.7 |
| 202 | +// @version 2025.9.5.8 |
203 | 203 | // @license MIT |
204 | 204 | // @icon data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22180%22%20height=%22180%22%20fill=%22none%22%3E%3Cstyle%3E:root%7B--primary-fill:%23000;--secondary-fill:%23fff;%7D@media%20(prefers-color-scheme:dark)%7B:root%7B--primary-fill:%23fff;--secondary-fill:%23000;%7D%7D%3C/style%3E%3Cg%20clip-path=%22url(%23a)%22%3E%3Crect%20width=%22180%22%20height=%22180%22%20fill=%22var(--primary-fill)%22%20rx=%2290%22/%3E%3Cg%20clip-path=%22url(%23b)%22%3E%3Cpath%20fill=%22var(--secondary-fill)%22%20d=%22M75.91%2073.628V62.232c0-.96.36-1.68%201.199-2.16l22.912-13.194c3.119-1.8%206.838-2.639%2010.676-2.639%2014.394%200%2023.511%2011.157%2023.511%2023.032%200%20.839%200%201.799-.12%202.758l-23.752-13.914c-1.439-.84-2.879-.84-4.318%200L75.91%2073.627Zm53.499%2044.383v-27.23c0-1.68-.72-2.88-2.159-3.719L97.142%2069.55l9.836-5.638c.839-.48%201.559-.48%202.399%200l22.912%2013.195c6.598%203.839%2011.035%2011.995%2011.035%2019.912%200%209.116-5.397%2017.513-13.915%2020.992v.001Zm-60.577-23.99-9.836-5.758c-.84-.48-1.2-1.2-1.2-2.16v-26.39c0-12.834%209.837-22.55%2023.152-22.55%205.039%200%209.716%201.679%2013.676%204.678L70.993%2055.516c-1.44.84-2.16%202.039-2.16%203.719v34.787-.002Zm21.173%2012.234L75.91%2098.339V81.546l14.095-7.917%2014.094%207.917v16.793l-14.094%207.916Zm9.056%2036.467c-5.038%200-9.716-1.68-13.675-4.678l23.631-13.676c1.439-.839%202.159-2.038%202.159-3.718V85.863l9.956%205.757c.84.48%201.2%201.2%201.2%202.16v26.389c0%2012.835-9.957%2022.552-23.27%2022.552v.001Zm-28.43-26.75L47.72%20102.778c-6.599-3.84-11.036-11.996-11.036-19.913%200-9.236%205.518-17.513%2014.034-20.992v27.35c0%201.68.72%202.879%202.16%203.718l29.989%2017.393-9.837%205.638c-.84.48-1.56.48-2.399%200Zm-1.318%2019.673c-13.555%200-23.512-10.196-23.512-22.792%200-.959.12-1.919.24-2.879l23.63%2013.675c1.44.84%202.88.84%204.32%200l30.108-17.392v11.395c0%20.96-.361%201.68-1.2%202.16l-22.912%2013.194c-3.119%201.8-6.837%202.639-10.675%202.639Zm29.748%2014.274c14.515%200%2026.63-10.316%2029.39-23.991%2013.434-3.479%2022.071-16.074%2022.071-28.91%200-8.396-3.598-16.553-10.076-22.43.6-2.52.96-5.039.96-7.557%200-17.153-13.915-29.99-29.989-29.99-3.239%200-6.358.48-9.477%201.56-5.398-5.278-12.835-8.637-20.992-8.637-14.515%200-26.63%2010.316-29.39%2023.991-13.434%203.48-22.07%2016.074-22.07%2028.91%200%208.396%203.598%2016.553%2010.075%2022.431-.6%202.519-.96%205.038-.96%207.556%200%2017.154%2013.915%2029.989%2029.99%2029.989%203.238%200%206.357-.479%209.476-1.559%205.397%205.278%2012.835%208.637%2020.992%208.637Z%22/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath%20id=%22a%22%3E%3Cpath%20d=%22M0%200h180v180H0z%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22b%22%3E%3Cpath%20d=%22M29.487%2029.964h121.035v119.954H29.487z%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E |
205 | 205 | // @icon64 data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22180%22%20height=%22180%22%20fill=%22none%22%3E%3Cstyle%3E:root%7B--primary-fill:%23000;--secondary-fill:%23fff;%7D@media%20(prefers-color-scheme:dark)%7B:root%7B--primary-fill:%23fff;--secondary-fill:%23000;%7D%7D%3C/style%3E%3Cg%20clip-path=%22url(%23a)%22%3E%3Crect%20width=%22180%22%20height=%22180%22%20fill=%22var(--primary-fill)%22%20rx=%2290%22/%3E%3Cg%20clip-path=%22url(%23b)%22%3E%3Cpath%20fill=%22var(--secondary-fill)%22%20d=%22M75.91%2073.628V62.232c0-.96.36-1.68%201.199-2.16l22.912-13.194c3.119-1.8%206.838-2.639%2010.676-2.639%2014.394%200%2023.511%2011.157%2023.511%2023.032%200%20.839%200%201.799-.12%202.758l-23.752-13.914c-1.439-.84-2.879-.84-4.318%200L75.91%2073.627Zm53.499%2044.383v-27.23c0-1.68-.72-2.88-2.159-3.719L97.142%2069.55l9.836-5.638c.839-.48%201.559-.48%202.399%200l22.912%2013.195c6.598%203.839%2011.035%2011.995%2011.035%2019.912%200%209.116-5.397%2017.513-13.915%2020.992v.001Zm-60.577-23.99-9.836-5.758c-.84-.48-1.2-1.2-1.2-2.16v-26.39c0-12.834%209.837-22.55%2023.152-22.55%205.039%200%209.716%201.679%2013.676%204.678L70.993%2055.516c-1.44.84-2.16%202.039-2.16%203.719v34.787-.002Zm21.173%2012.234L75.91%2098.339V81.546l14.095-7.917%2014.094%207.917v16.793l-14.094%207.916Zm9.056%2036.467c-5.038%200-9.716-1.68-13.675-4.678l23.631-13.676c1.439-.839%202.159-2.038%202.159-3.718V85.863l9.956%205.757c.84.48%201.2%201.2%201.2%202.16v26.389c0%2012.835-9.957%2022.552-23.27%2022.552v.001Zm-28.43-26.75L47.72%20102.778c-6.599-3.84-11.036-11.996-11.036-19.913%200-9.236%205.518-17.513%2014.034-20.992v27.35c0%201.68.72%202.879%202.16%203.718l29.989%2017.393-9.837%205.638c-.84.48-1.56.48-2.399%200Zm-1.318%2019.673c-13.555%200-23.512-10.196-23.512-22.792%200-.959.12-1.919.24-2.879l23.63%2013.675c1.44.84%202.88.84%204.32%200l30.108-17.392v11.395c0%20.96-.361%201.68-1.2%202.16l-22.912%2013.194c-3.119%201.8-6.837%202.639-10.675%202.639Zm29.748%2014.274c14.515%200%2026.63-10.316%2029.39-23.991%2013.434-3.479%2022.071-16.074%2022.071-28.91%200-8.396-3.598-16.553-10.076-22.43.6-2.52.96-5.039.96-7.557%200-17.153-13.915-29.99-29.989-29.99-3.239%200-6.358.48-9.477%201.56-5.398-5.278-12.835-8.637-20.992-8.637-14.515%200-26.63%2010.316-29.39%2023.991-13.434%203.48-22.07%2016.074-22.07%2028.91%200%208.396%203.598%2016.553%2010.075%2022.431-.6%202.519-.96%205.038-.96%207.556%200%2017.154%2013.915%2029.989%2029.99%2029.989%203.238%200%206.357-.479%209.476-1.559%205.397%205.278%2012.835%208.637%2020.992%208.637Z%22/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath%20id=%22a%22%3E%3Cpath%20d=%22M0%200h180v180H0z%22/%3E%3C/clipPath%3E%3CclipPath%20id=%22b%22%3E%3Cpath%20d=%22M29.487%2029.964h121.035v119.954H29.487z%22/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E |
|
223 | 223 | // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@b80cf38/chromium/extension/components/modals.js#sha256-DhMWnY6BLbd5gmKI3TjnPq8vzDMqGKd7bJLeLS4DMRc= |
224 | 224 | // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@b80cf38/chromium/extension/components/toggles.js#sha256-L4AV0xFkjQuYr2UPkOPugKDyTXYGbczrysDiQF9+ZBs= |
225 | 225 | // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@62b5899/chromium/extension/lib/browser.js#sha256-7teBecqrjkazKH6oetGyxKlBkAk5U9ota/LNCB3Q+Jw= |
| 226 | +// @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@63b2a9d/chromium/extension/lib/feedback.js#sha256-+pCdFOvlfPkjBY2uk+6waX+K+NPkJ6teEBY2qSlUnuo= |
226 | 227 | // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@3372987/chromium/extension/lib/infinity.js#sha256-MN1pC8s+N3Rqqj+2TmKB3Q3DyjNMmFSmdZD/4FusqyE= |
227 | 228 | // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@619cd01/chromium/extension/lib/settings.js#sha256-ZjJnWJTkURgan8bqB5R2xiXUzLyf7+ksViFrZ7kGInI= |
228 | 229 | // @require https://cdn.jsdelivr.net/gh/adamlui/chatgpt-infinity@4d9d28f/chromium/extension/lib/styles.js#sha256-eFylUQlwNiAAbGJlK0D6MSrDdTOFxQK/L3MJG7YUQG0= |
|
344 | 345 | return GM_registerMenuCommand(menuLabel, () => { |
345 | 346 | if (entryData.type == 'toggle') { |
346 | 347 | settings.save(key, !config[key]) |
347 | | - notify(`${entryData.label}: ${this.state.words[+settings.typeIsEnabled(key)]}`) |
| 348 | + feedback.notify(`${entryData.label}: ${this.state.words[+settings.typeIsEnabled(key)]}`) |
348 | 349 | } else if (key == 'replyLanguage') { |
349 | 350 | while (true) { |
350 | 351 | let replyLang = prompt( |
|
432 | 433 | return words.join(' ') // join'em back together |
433 | 434 | } |
434 | 435 |
|
435 | | - // Define FEEDBACK functions |
436 | | - |
437 | | - window.notify = function(msg, pos = '', notifDuration = '', shadow = '') { |
438 | | - if (!styles.toast.node) styles.update({ key: 'toast' }) |
439 | | - if (config.notifDisabled |
440 | | - && !new RegExp(`${app.msgs.menuLabel_show} ${app.msgs.menuLabel_notifs}`, 'i').test(msg) |
441 | | - ) return |
442 | | - |
443 | | - // Strip state word to append colored one later |
444 | | - const foundState = toolbarMenu.state.words.find(word => msg.includes(word)) |
445 | | - if (foundState) msg = msg.replace(foundState, '') |
446 | | - |
447 | | - // Show notification |
448 | | - chatgpt.notify(`${app.symbol} ${msg}`, pos, notifDuration, shadow || env.ui.scheme == 'light') |
449 | | - const notif = document.querySelector('.chatgpt-notif:last-child') |
450 | | - notif.classList.add(app.slug) // for styles.toast |
451 | | - |
452 | | - // Append styled state word |
453 | | - if (foundState) { |
454 | | - const stateStyles = { |
455 | | - on: { |
456 | | - light: 'color: #5cef48 ; text-shadow: rgba(255,250,169,0.38) 2px 1px 5px', |
457 | | - dark: 'color: #5cef48 ; text-shadow: rgb(55,255,0) 3px 0 10px' |
458 | | - }, |
459 | | - off: { |
460 | | - light: 'color: #ef4848 ; text-shadow: rgba(255,169,225,0.44) 2px 1px 5px', |
461 | | - dark: 'color: #ef4848 ; text-shadow: rgba(255, 116, 116, 0.87) 3px 0 9px' |
462 | | - } |
463 | | - } |
464 | | - const styledStateSpan = dom.create.elem('span') |
465 | | - styledStateSpan.style.cssText = stateStyles[ |
466 | | - foundState == toolbarMenu.state.words[0] ? 'off' : 'on'][env.ui.scheme] |
467 | | - styledStateSpan.append(foundState) ; notif.append(styledStateSpan) |
468 | | - } |
469 | | - } |
470 | | - |
471 | 436 | // Define UI functions |
472 | 437 |
|
473 | 438 | chatgpt.isIdle = function() { // replace waiting for chat to start in case of interrupts |
|
550 | 515 | // Auto-start if enabled |
551 | 516 | if (config.autoStart) { |
552 | 517 | settings.save('infinityMode', true) ; sync.configToUI({ updatedKey: 'infinityMode' }) |
553 | | - notify(`${app.msgs.menuLabel_autoStart}: ${app.msgs.state_on.toUpperCase()}`) |
| 518 | + feedback.notify(`${app.msgs.menuLabel_autoStart}: ${app.msgs.state_on.toUpperCase()}`) |
554 | 519 | } |
555 | 520 |
|
556 | 521 | // Monitor NODE CHANGES to maintain sidebar toggle visibility |
|
0 commit comments