您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
将对话保存为 .txt 文件
// ==UserScript== // @name ChatGPT Save Conversation // @name:aa ChatGPTam walala // @name:ab ЧатГПТ Аицәажәара еиқәырхатәуп // @name:af Chatgpt stoor gesprek // @name:ak Chatgpt Sie Nkɔmmɔbɔ . // @name:am የውይይት ማቆሚያ ውይይት // @name:ar chatgpt حفظ المحادثة // @name:as Chatgpt কথোপকথন সংৰক্ষণ কৰক // @name:av ЧатГПТ Сохранить разговор // @name:ay Chatgpt ukax mä aruskipäwiwa. // @name:az ChatGPT Saxla Səs-küyü // @name:ba ChatGPT әңгәмәләшеү әңгәмә // @name:be Чатгпт захаваць размову // @name:bg Chatgpt Запазете разговор // @name:bh chatgpt बातचीत के बचाईं // @name:bm Chatgpt ka baro kɛ . // @name:bn চ্যাটজিপ্ট কথোপকথন সংরক্ষণ করুন // @name:bo ChatGPT སྲུང་སྐྱོབ། // @name:br ChatGPT Enrollañ ar gaozeadenn // @name:bs Chatgpt Sačuvaj razgovor // @name:ca Chatgpt desar la conversa // @name:ce ChatGPT Save къамел // @name:ceb Pag-istoryahanay sa Chatgpt // @name:ch IGIGPT Sa’ // @name:ckb Chatgpt // @name:co Conversazione di Salva di ChatGPT // @name:cs CHATGPT Uložit konverzaci // @name:cv ЧатГПТ çăлăнăр калаçăва // @name:cy Chatgpt sgwrsio sgwrs // @name:da ChatGpt Save Conversation // @name:de Chatgpt speichern Gespräch // @name:dv CHATGPT ސޭވް ކޮންވާޝަން // @name:dz ChatGPT བློ་སླབ་སྲུངས། // @name:ee Chatgpt Ðe Dzeɖoɖo Ðe Ðoɖo Nu . // @name:el Chatgpt Αποθήκευση συνομιλίας // @name:en ChatGPT Save conversation // @name:en-GB ChatGPT Save conversation // @name:eo Chatgpt Konversacio // @name:es Chatgpt guardar conversación // @name:et Chatgpt salvestage vestlus // @name:eu Chatgpt-ek elkarrizketa gordetzea // @name:fa chatgpt مکالمه را ذخیره کنید // @name:ff ChatGPT Hisnu yeewtere // @name:fi Chatgpt Tallenna keskustelu // @name:fil Chatgpt i -save ang pag -uusap // @name:fj Na veivosaki ni Veitalanoa . // @name:fo ChatGPT Goym samrøða // @name:fr Chatppt enregistrer la conversation // @name:fr-CA Chatppt enregistrer la conversation // @name:fy Chatgpt bewarje petear // @name:ga Comhrá a shábháil comhrá // @name:gd Còmhradh Sàbhail còmhradh // @name:gl Chatgpt gardar conversa // @name:gn CHATGPT Ñongatu Ñomongeta . // @name:gsw-berne ChatGPT Save conversation // @name:gu ચેટગપ્ટ વાતચીત સાચવો // @name:gv ChatGPT Save // @name:ha Chattgt Ajiye hira // @name:he צ’טגפט שמור שיחה // @name:hi बातचीत सहेजें बातचीत // @name:hmn Chatgpt txuag kev sib tham // @name:hr Chatgpt spremi razgovor // @name:ht Chatgpt sove konvèsasyon // @name:hu Chatgpt mentse meg a beszélgetést // @name:hy CHATGPT Պահպանել խոսակցությունը // @name:id Chatgpt simpan percakapan // @name:ig Chatgwa eche nchedo // @name:is Chatgpt vistaðu samtal // @name:it CHATGPT Salva la conversazione // @name:iu ChatGPT Save ᓴᓂᕐᕙᐃᓂᖅ ᐅᖃᖃᑎᒌᖕᓂᖅ // @name:ja Chatgpt会話を保存します // @name:jv ChatGPT nyimpen obrolan // @name:ka Chatgpt შეინახეთ საუბარი // @name:kg ChatGPT ya kubumba disolo // @name:kk ChatGPT Сөйлесуді сақтаңыз // @name:kl ChatGPT Save oqaloqatigiinneq // @name:km ជជែកកំសាន្តការសន្ទនា // @name:kn ಚಾಟ್ಜಿಪಿಟಿ ಸಂಭಾಷಣೆಯನ್ನು ಉಳಿಸಿ // @name:ko Chatgpt 대화를 저장하십시오 // @name:kr Zande ChatGPTbe // @name:ku Chatgpt danûstendinê xilas bike // @name:kv ЧатГПТ Сохранить сёрни // @name:ky Чатгып сүйлөшүү // @name:la Chatgpt nisi conversationem // @name:lb ChatGPT späichert Gespréich // @name:lg CHATGPT Teeka Emboozi . // @name:ln ChatGpt Bomba masolo . // @name:lo ສົນທະນາສົນທະນາ // @name:lt Chatgpt išsaugoti pokalbį // @name:lv Chatgpt Saglabāt sarunu // @name:mg Chatgpt Save resaka // @name:mh Kōjparok chat . // @name:mi Checkgpt Tiaki Korero // @name:mk Chatgpt Зачувај разговор // @name:ml ചാറ്റ്ഗേറ്റ് സംരക്ഷിക്കുക സംഭാഷണം // @name:mn CHALGPT-ийг хадгалах // @name:mo Chatgpt Salvați conversația // @name:mr Chatgpt संभाषण जतन करा // @name:ms Chatgpt simpan perbualan // @name:mt Chatgpt ħlief konversazzjoni // @name:my chatgpt စကားပြောပါ // @name:nb Chatgpt Lagre samtale // @name:ne कुराकानी बचत कुराकानी // @name:nl Chatgpt opslaan gesprek // @name:nr Umbuzo wezinhlobo we . // @name:ny ChatGTT Sungani zokambirana // @name:oc ChatGPT Enregistrar la conversacion // @name:om Chatgpt haasawa qusadhaa . // @name:or କଥାବାର୍ତ୍ତା ବାର୍ତ୍ତାଳାପ ସେଭ୍ କରନ୍ତୁ | // @name:os ChatGPT æрæвæрут ныхас // @name:pa ਗੱਲਬਾਤ ਸੇਵ // @name:pl Chatgpt Zapisz rozmowę // @name:ps خبرې کول خبرې کول // @name:pt Chatgpt Save conversa // @name:pt-BR Chatgpt Save conversa // @name:pt-PT Chatgpt Save conversa // @name:qu Chatgpt Waqaychay rimanakuy . // @name:rn Ikiyago ca ChatGPT kiza // @name:ro Chatgpt Salvați conversația // @name:ru Chatgpt сохранить разговор // @name:rw Ikiganiro Uzigame Ibiganiro // @name:sa गपशपं वीक्षते सम्भाषणम् . // @name:sd چيٽنگ کي سلائي گفتگو // @name:se ChatGPT Save ságastallan // @name:sg ChatGPT Save lisoro . // @name:sh ЦхатГПТ Сачувај разговор // @name:si චැසනස් සංවාදය සුරකින්න // @name:sk Chatgpt uložiť konverzáciu // @name:sl Chatgpt shrani pogovor // @name:sm Talatalanoaga Savet talanoaga // @name:sn Chatgpt chengetedza hurukuro // @name:so Sheekada sheekada sheekada // @name:sq Chatgpt ruaj bisedën // @name:sr ЦхатГПТ Сачувај разговор // @name:ss ChatGPT Gcina ingcoco // @name:st Potoloho ea Polelo // @name:su ChatGPT ngahemat paguneman // @name:sv Chatgpt spara konversation // @name:sw Chatgpt Hifadhi mazungumzo // @name:ta சாட்ஜ்ட் உரையாடலைச் சேமிக்கவும் // @name:te చాట్గ్ప్ట్ సంభాషణను సేవ్ చేయండి // @name:tg Chatgpt сӯҳбатро сарфа кунед // @name:th CHATGPT บันทึกการสนทนา // @name:ti chatgpt ዕላል ኣድሕን // @name:tk Söhbet söhbetdeşligi tygşytlaň // @name:tl Chatgpt i -save ang pag -uusap // @name:tn ChatGPT Boloka motlotlo // @name:to ChatGPT Save talanoa // @name:tr Chatgpt Sohbeti Kaydet // @name:ts Chatgpt Hlayisa Mbulavurisano . // @name:tt Шатгпт сөйләшүне саклагыз // @name:tw Chatgpt Sie Nkɔmmɔbɔ . // @name:ty Te aparauraa ChatGPT // @name:ug پاراڭلىشىش سۆھبەتنى ساقلاش // @name:uk Чатгпт Зберегти розмову // @name:ur چیٹ جی پی ٹی گفتگو کو بچائیں // @name:uz Chatgpt suhbatni saqlang // @name:ve ChatGPT Kha nyambedzano Vhulunga // @name:vi Chatgpt Lưu trò chuyện // @name:wo ChatGPT Save // @name:xh Incoko ye-Chatgppt // @name:yi טשאַטגפּט היט שמועס // @name:yo Fipamọ ibaraẹnisọrọ // @name:zh ChatGPT 保存对话 // @name:zh-CN ChatGPT 保存对话 // @name:zh-HK ChatGPT 保存對話 // @name:zh-MO ChatGPT 保存對話 // @name:zh-MY ChatGPT 保存对话 // @name:zh-SG ChatGPT 保存对话 // @name:zh-TW ChatGPT 保存對話 // @name:zu I-Chatgpt Gcina ingxoxo // @name:es-419 Chatgpt guardar conversación // @description Save the conversation as a .txt file // @description:aa walal .txt faayilih innah // @description:ab Аицәажәара .txt фаилк аҳасабала еиқәырхатәуп // @description:af Stoor die gesprek as ’n .txt -lêer // @description:ak Fa nkɔmmɔbɔ no sie sɛ .txt fael . // @description:am ውይይቱን እንደ የ .Txt ፋይል ያስቀምጡ // @description:ar احفظ المحادثة كملف .txt // @description:as কথোপকথনক এটা .txt ফাইল হিচাপে সংৰক্ষণ কৰক // @description:av Хвасар гьабе гара-чӀвари .txt файл хӀисабалда // @description:ay Uka aruskipäwix .txt archiwjam imañamawa . // @description:az Söhbəti .txt faylı olaraq qeyd edin // @description:ba Һөйләшеүҙе .txt файлы булараҡ һаҡлау // @description:be Захавайце размову як файл .txt // @description:bg Запазете разговора като .txt файл // @description:bh बातचीत के .txt फाइल के रूप में सेव करीं // @description:bm Baro in mara i n’a fɔ .txt file . // @description:bn একটি .txt ফাইল হিসাবে কথোপকথনটি সংরক্ষণ করুন // @description:bo ཁ་བརྡ་དེ་.txtཡིག་ཆ་ལྟར་ཉར་ཚགས་བྱེད། // @description:br Enrollañ ar gaozeadenn evel ur restr .txt // @description:bs Spremite razgovor kao .txt datoteku // @description:ca Deseu la conversa com a fitxer .txt // @description:ce Къастаде къамел .txt файл санна . // @description:ceb I-save ang panag-istoryahanay ingon usa ka .txt File // @description:ch Guaha na biahi na i konbetsasion-ñiha gi .xy file . // @description:ckb گفتوگۆکە وەک فایلێکی .txt هەڵبگرە // @description:co Salvate a cunversazione cum’è un file .txt // @description:cs Uložit konverzaci jako soubor .txt // @description:cv Калаçăва .txt файл пек упрамалла // @description:cy Cadwch y sgwrs fel ffeil .txt // @description:da Gem samtalen som en .txt -fil // @description:de Speichern Sie die Konversation als .txt -Datei // @description:dv ވާހަކަ ދެއްކުން .txt ފައިލް އެއްގެ ގޮތުގައި ރައްކާކުރުން // @description:dz བློ་སླབ་འདི་ .txt ཡིག་སྣོད་སྦེ་སྲུང་བཞག་འབད། // @description:ee Dzra dzeɖoɖoa ɖo abe .txt faɛl ene . // @description:el Αποθηκεύστε τη συνομιλία ως αρχείο .txt // @description:en Save the conversation as a .txt file // @description:en-GB Save the conversation as a .txt file // @description:eo Konservu la konversacion kiel .txt -dosiero // @description:es Guarde la conversación como un archivo .txt // @description:es-419 Guarde la conversación como un archivo .txt // @description:et Salvestage vestlus .txt -failina // @description:eu Gorde elkarrizketa .txt fitxategi gisa // @description:fa مکالمه را به عنوان یک پرونده .txt ذخیره کنید // @description:ff Hisnu yeewtere ndee ko fiilde .txt // @description:fi Tallenna keskustelu .txt -tiedostona // @description:fil I -save ang pag -uusap bilang isang .txt file // @description:fj Me vakayagataki na veivosaki me vaka e dua na faile .txt . // @description:fo Goym samrøðuna sum eina .txt fílu // @description:fr Enregistrer la conversation en tant que fichier .txt // @description:fr-CA Enregistrer la conversation en tant que fichier .txt // @description:fy Bewarje it petear as in .txt-bestân // @description:ga Sábháil an comhrá mar chomhad .txt // @description:gd Sàbhail an còmhradh mar fhaidhle .Txt // @description:gl Garda a conversa como ficheiro .txt // @description:gn Eñongatu pe ñomongeta peteĩ .txt rembiapokueicha . // @description:gsw-berne Save the conversation as a .txt file // @description:gu વાતચીતને .txt ફાઇલ તરીકે સાચવો // @description:gv Save y cho-chowrey myr .txt file // @description:ha Ajiye tattaunawar azaman fayil .txt fayil // @description:he שמור את השיחה כקובץ .txt // @description:hi एक .txt फ़ाइल के रूप में बातचीत को सहेजें // @description:hmn Txuag cov kev sib tham raws li a .tXt cov ntaub ntawv // @description:hr Spremite razgovor kao .txt datoteku // @description:ht Sove konvèsasyon an kòm yon dosye .txt // @description:hu Mentse el a beszélgetést .txt fájlként // @description:hy Խոսքը պահեք որպես .txt ֆայլ // @description:id Simpan percakapan sebagai file .txt // @description:ig Chekwaa mkparịta ụka dị ka faịlụ .txt // @description:is Vistaðu samtalið sem .txt skrá // @description:it Salva la conversazione come file .txt // @description:iu ᓴᓂᕐᕙᐃᓗᑎᑦ ᐅᖃᖃᑎᒌᒍᑎᒥᒃ .txt ᑎᑎᖅᑲᖁᑎᒥᒃ // @description:ja .txtファイルとして会話を保存します // @description:jv Simpen pacelathon minangka file .txt // @description:ka შეინახეთ საუბარი .txt ფაილი // @description:kg Lunda disolo bonso fichier .txt . // @description:kk Сөйлесуді .txt файлы ретінде сақтаңыз // @description:kl Oqaloqatigiinneq .txt-imik filimik sipaarniaruk // @description:km រក្សាទុកការសន្ទនាជាឯកសារ .txt // @description:kn ಸಂಭಾಷಣೆಯನ್ನು .txt ಫೈಲ್ ಆಗಿ ಉಳಿಸಿ // @description:ko 대화를 .txt 파일로 저장하십시오 // @description:kr Zandedəga .txt filero gənatə // @description:ku Gotûbêja wekî pelê .txt hilînin // @description:kv Сёрнисӧ видзӧй кыдзи .txt файл . // @description:ky Сүйлөшүүнү .txt файлы катары сактаңыз // @description:la Nisi colloquium ut a .txt lima // @description:lb Späichert d’Gespréich als .txt Datei // @description:lg Teeka emboozi nga fayiro ya .txt . // @description:ln Bomba lisolo lokola fisyé .txt . // @description:lo ບັນທຶກການສົນທະນາເປັນເອກະສານ .txt // @description:lt Išsaugokite pokalbį kaip .txt failą // @description:lv Saglabājiet sarunu kā .txt failu // @description:mg Tehirizo ny resaka ho rakitra. Kxt // @description:mh Kōjparok bwebwenato eo āinwōt juon file . // @description:mi Tiakina te korerorero hei tohu .txt // @description:mk Зачувајте го разговорот како датотека .txt // @description:ml സംഭാഷണം ഒരു .txt ഫയലായി സംരക്ഷിക്കുക // @description:mn Яриаг .txt файл болгон хадгал // @description:mo Salvați conversația ca fișier .txt // @description:mr संभाषण एक .txt फाईल म्हणून जतन करा // @description:ms Simpan perbualan sebagai fail .txt // @description:mt Issejvja l-konversazzjoni bħala fajl .txt // @description:my စကားဝိုင်းကို .txt ဖိုင်တစ်ခုအဖြစ်သိမ်းဆည်းပါ // @description:nb Lagre samtalen som en .txt -fil // @description:ne A.Txt फाईलको रूपमा कुराकानी बचत गर्नुहोस् // @description:nl Sla het gesprek op als een .txt -bestand // @description:nr Wahamba ubusuku umndeni. // @description:ny Sungani zokambirana monga .Txt fayilo // @description:oc Enregistratz la convèrsa coma un fichièr .txt . // @description:om Haasaa akka faayilii .txt tti saagi . // @description:or ବାର୍ତ୍ତାଳାପକୁ a .txt ଫାଇଲ୍ ଭାବରେ ସେଭ୍ କରନ୍ତୁ | // @description:os Ныхас .txt файлæй фервæзын кæнут. // @description:pa ਗੱਲਬਾਤ ਨੂੰ ਇੱਕ .txt ਫਾਈਲ ਦੇ ਤੌਰ ਤੇ ਸੁਰੱਖਿਅਤ ਕਰੋ // @description:pl Zapisz rozmowę jako plik .txt // @description:ps خبرې د .txt فایل په توګه خوندي کړئ // @description:pt Salve a conversa como um arquivo .txt // @description:pt-BR Salve a conversa como um arquivo .txt // @description:pt-PT Salve a conversa como um arquivo .txt // @description:qu Rimanakuyta .txt willañiqi hina waqaychay . // @description:rn Bika ikiyago nk’idosiye .txt // @description:ro Salvați conversația ca fișier .txt // @description:ru Сохраните разговор как файл .txt // @description:rw Bika ikiganiro nka dosiye .txt // @description:sa सम्भाषणं .txt सञ्चिकारूपेण रक्षन्तु । // @description:sd گفتگو کي محفوظ ڪريو .txt فائل طور // @description:se Seastit ságastallama .txt-fiilan . // @description:sg Save lisoro ni tongana mbeni fichier .txt . // @description:sh Спремите разговор као .ткт датотеку // @description:si සංවාදය .txt ගොනුවක් ලෙස සුරකින්න // @description:sk Uložte konverzáciu ako súbor .txt // @description:sl Shranite pogovor kot datoteko .txt // @description:sm Sefe le talanoaga o se .txt faila // @description:sn Sevha iyo hurukuro seye .txt faira // @description:so Kaydi wada hadalka sida faylka .txt // @description:sq Ruani bisedën si një skedar .txt // @description:sr Спремите разговор као .ткт датотеку // @description:ss Gcina ingcoco njengefayela le-.txt // @description:st Boloka moqoqo joalo ka faele ea .TXT // @description:su Simpen paguneman salaku file .txt // @description:sv Spara konversationen som en .txt -fil // @description:sw Hifadhi mazungumzo kama faili ya .txt // @description:ta உரையாடலை .txt கோப்பாக சேமிக்கவும் // @description:te సంభాషణను .txt ఫైల్గా సేవ్ చేయండి // @description:tg Сӯҳбатро ҳамчун файли .txt захира кунед // @description:th บันทึกการสนทนาเป็นไฟล์. txt // @description:ti ነቲ ዕላል ከም .txt ፋይል ኣቐምጦ . // @description:tk Söhbetdeşligi .txt faýly hökmünde tygşytlaň // @description:tl I -save ang pag -uusap bilang isang .txt file // @description:tn Boloka motlotlo jaaka faele ya .txt // @description:to Fakahaofi ’a e talanoa ko ha faile .txt . // @description:tr Konuşmayı bir .txt dosyası olarak kaydedin // @description:ts Hlayisa mbulavurisano tanihi fayili ya .TXT . // @description:tt Сөйләшүне .txt файл итеп саклагыз // @description:tw Fa nkɔmmɔbɔ no sie sɛ .txt fael . // @description:ty A faanaho i te aparauraa mai te hoê kōnae .txt // @description:ug سۆھبەتنى بىردەك ساقلاش .txt ھۆججىتى سۈپىتىدە ساقلاڭ // @description:uk Збережіть розмову як файл .txt // @description:ur گفتگو کو .txt فائل کے بطور محفوظ کریں // @description:uz Suhbatni .Txt fayli sifatida saqlang // @description:ve Vhulungani nyambedzano sa faela ya .txt // @description:vi Lưu cuộc trò chuyện dưới dạng tệp .txt // @description:wo Jox waxtaan wi ni fichier .txt // @description:xh Gcina incoko njenge-.txt yefayile // @description:yi היט דעם שמועס ווי אַ. טקסט טעקע // @description:yo Ṣafipamọ ibaraẹnisọrọ bi faili .txt kan // @description:zh 将对话保存为 .txt 文件 // @description:zh-CN 将对话保存为 .txt 文件 // @description:zh-HK 將對話保存為 .txt 文件 // @description:zh-MO 將對話保存為 .txt 文件 // @description:zh-MY 将对话保存为 .txt 文件 // @description:zh-SG 将对话保存为 .txt 文件 // @description:zh-TW 將對話保存為 .txt 文件 // @description:zu Gcina ingxoxo njengefayela le-.txt // @author Taylor-eOS,人民的勤务员 <[email protected]> // @namespace https://github.com/ChinaGodMan/UserScripts // @supportURL https://github.com/ChinaGodMan/UserScripts/issues // @homepageURL https://github.com/ChinaGodMan/UserScripts // @homepage https://github.com/ChinaGodMan/UserScripts // @license MIT // @match https://chatgpt.com/* // @match https://chat.deepseek.com/* // @icon https://raw.githubusercontent.com/ChinaGodMan/UserScriptsHistory/main/scriptsIcon/chatgpt-plus.png // @compatible chrome // @compatible firefox // @compatible edge // @compatible opera // @compatible safari // @compatible kiwi // @compatible qq // @compatible via // @compatible brave // @version 2025.6.3.1 // ==/UserScript== (function () { 'use strict' function capitalizeRole(role) { if (role === 'user') return 'User' if (role === 'assistant') return 'Assistant' return role.charAt(0).toUpperCase() + role.slice(1) } function generateFileName(messages) { let raw = (document.querySelector('title') || {}).textContent if (raw) { let name = raw.trim() .slice(0, 40) return name || 'conversation' } let firstWords = messages[0].text.split(/\s+/).slice(0, 5).join(' ') let snippet = firstWords.toLowerCase() .replace(/[^a-z0-9 ]/g, '') .replace(/\s+/g, '_') .slice(0, 30) return snippet || 'conversation' } function saveConversation() { const containers = document.querySelectorAll('[data-message-id]') const messages = [] containers.forEach(el => { const role = el.getAttribute('data-message-author-role') let content = el.querySelector('.whitespace-pre-wrap') || el.querySelector('.markdown') if (role && content) { let text = content.innerText.trim() messages.push({ role: capitalizeRole(role), text }) } }) if (!messages.length) { alert('No conversation found to save.') return } const body = messages.map(m => `${m.role}:\n${m.text}`).join('\n\n---\n\n') const blob = new Blob([body], { type: 'text/plain' }) const url = URL.createObjectURL(blob) const a = document.createElement('a') a.href = url a.download = generateFileName(messages) + '.txt' document.body.appendChild(a) a.click() document.body.removeChild(a) URL.revokeObjectURL(url) } function createDownloadButton() { if (document.getElementById('save-convo-button')) return const btn = document.createElement('button') btn.id = 'save-convo-button' btn.title = 'Save conversation' btn.style.position = 'fixed' btn.style.top = '0' btn.style.left = '0' btn.style.width = '12px' btn.style.height = '30px' btn.style.backgroundColor = 'green' btn.style.borderRadius = '4px' btn.style.zIndex = 9999 btn.style.cursor = 'pointer' btn.addEventListener('click', saveConversation) document.body.appendChild(btn) } const waitForBody = setInterval(() => { if (document.body && document.querySelector('[data-message-id]')) { clearInterval(waitForBody) createDownloadButton() } }, 500) })()