// ==UserScript== // @name ChatGPT 头像更改器 // @version 0.0.2 // @description 让你的ChatGPT的头像和名称变成自己想象的! // @author 小阿狼是也 // @license MIT // @match *://chat.openai.com/chat/* // @match *://chat.openai.com/chat/ // @icon data:image/svg+xml, // @require https://unpkg.com/sweetalert2@10.16.6/dist/sweetalert2.min.js // @resource swalStyle https://unpkg.com/sweetalert2@10.16.6/dist/sweetalert2.min.css // @grant unsafeWindow // @grant GM_registerMenuCommand // @namespace https://greasyfork.org/users/756710 // @downloadURL https://update.greasyfork.icu/scripts/480762/ChatGPT%20%E5%A4%B4%E5%83%8F%E6%9B%B4%E6%94%B9%E5%99%A8.user.js // @updateURL https://update.greasyfork.icu/scripts/480762/ChatGPT%20%E5%A4%B4%E5%83%8F%E6%9B%B4%E6%94%B9%E5%99%A8.meta.js // ==/UserScript== (function () { var ChatPGT_StyleModed = localStorage.getItem('ChatPGT_StyleMode'); const customClass = { container: 'panai-container', popup: 'panai-popup', header: 'panai-header', title: 'panai-title', closeButton: 'panai-close', icon: 'panai-icon', image: 'panai-image', content: 'panai-content', htmlContainer: 'panai-html', input: 'panai-input', inputLabel: 'panai-inputLabel', validationMessage: 'panai-validation', actions: 'panai-actions', confirmButton: 'panai-confirm', denyButton: 'panai-deny', cancelButton: 'panai-cancel', loader: 'panai-loader', footer: 'panai-footer' }; var ChatPGT_StyleMode = JSON.parse(ChatPGT_StyleModed) if(ChatPGT_StyleModed==null){ const config = { user:false, user_name:"小阿狼是也", user_avatar:"https://q.qlogo.cn/g?b=qq&nk=2893265066&s=640", chat:false, chat_name:"酪蛋白AI", chat_avatar:"https://apic.douyucdn.cn/upload/avatar_v3/201908/f2b54d0e48b649fd821574e5a72a09c0_big.jpg", } var confied = JSON.stringify(config) localStorage.setItem('ChatPGT_StyleMode', confied); } window.onload = function () { //实时替换 if(ChatPGT_StyleMode.user ===true ||ChatPGT_StyleMode.chat ===true){ setInterval(() => { var mainlength = document.querySelectorAll('[data-testid*="conversation-turn"]').length for (let i = 0; i < mainlength; i+=2) { if(ChatPGT_StyleMode.user === true){ //更改【用户】的头像 var You_main_img = document.querySelectorAll('[data-testid*="conversation-turn"] .rounded-sm')[i] You_main_img.src = ChatPGT_StyleMode.user_avatar; //更改【用户】的名字 var You_main_text = document.querySelectorAll('[data-testid*="conversation-turn"] .font-semibold.select-none')[i] You_main_text.innerText = ChatPGT_StyleMode.user_name } if(ChatPGT_StyleMode.chat === true){ //更改【ChatGPT】的头像 var main_img = document.querySelectorAll('[data-testid*="conversation-turn"] .gizmo-shadow-stroke')[i+1] main_img.innerHTML = `User` //更改【ChatGPT】的名字 var main_text = document.querySelectorAll('[data-testid*="conversation-turn"] .font-semibold.select-none')[i+1] main_text.innerText = ChatPGT_StyleMode.chat_name } } }, 50) } } let main = { registerMenuCommand() { GM_registerMenuCommand('设置', () => { let html = `
`; Swal.fire({ title: 'ChatGPT 头像更改器', html, icon: 'info', showCloseButton: true, confirmButtonText: '保存', customClass }).then((res) => { if (res.isConfirmed) { var config = { user:document.getElementById('User').checked, user_name:document.getElementById('User-Name').value, user_avatar:document.getElementById('User-Avatar').value, chat:document.getElementById('Chat').checked, chat_name:document.getElementById('Chat-Name').value, chat_avatar:document.getElementById('Chat-Avatar').value, } var confied = JSON.stringify(config) localStorage.setItem('ChatPGT_StyleMode', confied); window.location.href = '?timestamp=' + new Date().getTime(); } }); }); }, isTopWindow() { return window.self === window.top; }, init() { this.isTopWindow() && this.registerMenuCommand(); }, } main.init(); })();