בירור | הורדה של קובץ קולי בגוגל צ'אט
-
מישהו יודע אם זה אפשרי? אולי יש סקריפט טמפרונסקי שיכול לעשות את זה?
@מים-אחרונים אפשרי...
בקונסול -
@מים-אחרונים אפשרי...
בקונסול@רפי-סאם לא עוזר לי...
-
מישהו יודע אם זה אפשרי? אולי יש סקריפט טמפרונסקי שיכול לעשות את זה?
-
@רפי-סאם לא עוזר לי...
@מים-אחרונים אני בונה תוסף....
אני אשלח כאן כשיהיה מוכן -
@מים-אחרונים אני בונה תוסף....
אני אשלח כאן כשיהיה מוכן -
אגב
IDM עושה את זה נהדר. -
אגב
IDM עושה את זה נהדר.@בנימין-מחשבים זה למי שלא רוצה להתקין IDM לדבר קטן
-
@מים-אחרונים אני בונה תוסף....
אני אשלח כאן כשיהיה מוכן@רפי-סאם עדיף קוד.
-
@רפי-סאם עדיף קוד.
@מים-אחרונים
לכל המעוניין
הנה קוד לטפרמונקי// @name GChat Audio Download // @namespace https://chat.google.com/ // @version 1.0 // @description מוסיף כפתור הורדה להודעות שמע ב-Google Chat // @author You // @match https://chat.google.com/* // @grant none // @run-at document-idle // ==/UserScript== (() => { const DONE = 'gchat-dl-done'; function makeBtn(url) { const b = document.createElement('button'); b.textContent = '⬇ הורד שמע'; b.style.cssText = ` all: initial; display: block !important; margin: 4px 8px 6px 8px !important; padding: 4px 16px !important; background: #1a73e8 !important; color: white !important; border: none !important; border-radius: 20px !important; font: 500 12px "Google Sans",Arial,sans-serif !important; cursor: pointer !important; direction: rtl !important; box-sizing: border-box !important; `; b.onmouseenter = () => b.style.setProperty('background', '#1557b0', 'important'); b.onmouseleave = () => b.style.setProperty('background', '#1a73e8', 'important'); b.onclick = async (e) => { e.stopPropagation(); e.preventDefault(); b.textContent = '⏳ מוריד…'; b.style.setProperty('background', '#f9ab00', 'important'); b.style.setProperty('color', '#000', 'important'); try { const r = await fetch(url, { credentials: 'include' }); if (!r.ok) throw new Error(r.status); const blob = await r.blob(); const ext = blob.type.includes('ogg') ? 'ogg' : blob.type.includes('webm') ? 'webm' : blob.type.includes('wav') ? 'wav' : 'mp3'; const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = `gchat-${Date.now()}.${ext}`; document.body.appendChild(a); a.click(); setTimeout(() => { document.body.removeChild(a); URL.revokeObjectURL(a.href); }, 9000); b.textContent = '✓ הורד!'; b.style.setProperty('background', '#34a853', 'important'); b.style.setProperty('color', 'white', 'important'); setTimeout(() => { b.textContent = '⬇ הורד שמע'; b.style.setProperty('background', '#1a73e8', 'important'); b.style.setProperty('color', 'white', 'important'); }, 3000); } catch(err) { b.textContent = '✗ שגיאה'; b.style.setProperty('background', '#ea4335', 'important'); b.style.setProperty('color', 'white', 'important'); setTimeout(() => { b.textContent = '⬇ הורד שמע'; b.style.setProperty('background', '#1a73e8', 'important'); b.style.setProperty('color', 'white', 'important'); }, 3000); } }; return b; } function tryInject(el) { if (!(el instanceof Element)) return; if (el.hasAttribute(DONE)) return; const url = el.getAttribute('data-media-url'); if (!url || !url.includes('get_attachment_url')) return; el.setAttribute(DONE, '1'); const parent = el.closest('.DwygBd') || el.parentElement; if (parent) { parent.appendChild(makeBtn(url)); console.log('[DL] ✅ injected'); } } function scan() { document.querySelectorAll('[data-media-url]').forEach(tryInject); } new MutationObserver(muts => { for (const m of muts) { for (const n of m.addedNodes) { if (n.nodeType !== 1) continue; tryInject(n); n.querySelectorAll?.('[data-media-url]').forEach(tryInject); } if (m.type === 'attributes' && m.target instanceof Element) { tryInject(m.target); } } }).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['data-media-url'] }); [0, 500, 1000, 2000, 4000, 8000].forEach(t => setTimeout(scan, t)); })(); -
@מים-אחרונים
לכל המעוניין
הנה קוד לטפרמונקי// @name GChat Audio Download // @namespace https://chat.google.com/ // @version 1.0 // @description מוסיף כפתור הורדה להודעות שמע ב-Google Chat // @author You // @match https://chat.google.com/* // @grant none // @run-at document-idle // ==/UserScript== (() => { const DONE = 'gchat-dl-done'; function makeBtn(url) { const b = document.createElement('button'); b.textContent = '⬇ הורד שמע'; b.style.cssText = ` all: initial; display: block !important; margin: 4px 8px 6px 8px !important; padding: 4px 16px !important; background: #1a73e8 !important; color: white !important; border: none !important; border-radius: 20px !important; font: 500 12px "Google Sans",Arial,sans-serif !important; cursor: pointer !important; direction: rtl !important; box-sizing: border-box !important; `; b.onmouseenter = () => b.style.setProperty('background', '#1557b0', 'important'); b.onmouseleave = () => b.style.setProperty('background', '#1a73e8', 'important'); b.onclick = async (e) => { e.stopPropagation(); e.preventDefault(); b.textContent = '⏳ מוריד…'; b.style.setProperty('background', '#f9ab00', 'important'); b.style.setProperty('color', '#000', 'important'); try { const r = await fetch(url, { credentials: 'include' }); if (!r.ok) throw new Error(r.status); const blob = await r.blob(); const ext = blob.type.includes('ogg') ? 'ogg' : blob.type.includes('webm') ? 'webm' : blob.type.includes('wav') ? 'wav' : 'mp3'; const a = document.createElement('a'); a.href = URL.createObjectURL(blob); a.download = `gchat-${Date.now()}.${ext}`; document.body.appendChild(a); a.click(); setTimeout(() => { document.body.removeChild(a); URL.revokeObjectURL(a.href); }, 9000); b.textContent = '✓ הורד!'; b.style.setProperty('background', '#34a853', 'important'); b.style.setProperty('color', 'white', 'important'); setTimeout(() => { b.textContent = '⬇ הורד שמע'; b.style.setProperty('background', '#1a73e8', 'important'); b.style.setProperty('color', 'white', 'important'); }, 3000); } catch(err) { b.textContent = '✗ שגיאה'; b.style.setProperty('background', '#ea4335', 'important'); b.style.setProperty('color', 'white', 'important'); setTimeout(() => { b.textContent = '⬇ הורד שמע'; b.style.setProperty('background', '#1a73e8', 'important'); b.style.setProperty('color', 'white', 'important'); }, 3000); } }; return b; } function tryInject(el) { if (!(el instanceof Element)) return; if (el.hasAttribute(DONE)) return; const url = el.getAttribute('data-media-url'); if (!url || !url.includes('get_attachment_url')) return; el.setAttribute(DONE, '1'); const parent = el.closest('.DwygBd') || el.parentElement; if (parent) { parent.appendChild(makeBtn(url)); console.log('[DL] ✅ injected'); } } function scan() { document.querySelectorAll('[data-media-url]').forEach(tryInject); } new MutationObserver(muts => { for (const m of muts) { for (const n of m.addedNodes) { if (n.nodeType !== 1) continue; tryInject(n); n.querySelectorAll?.('[data-media-url]').forEach(tryInject); } if (m.type === 'attributes' && m.target instanceof Element) { tryInject(m.target); } } }).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['data-media-url'] }); [0, 500, 1000, 2000, 4000, 8000].forEach(t => setTimeout(scan, t)); })();@רפי-סאם לא מתקין לי.
-
@רפי-סאם לא מתקין לי.
@מים-אחרונים אני לא ניסיתי - לא לוקח אחריות - אין לי טפרמונקי ואני לא משתמש בזה..
בשביל זה יש לי את זה
https://www.youtube.com/watch?v=bprp1VsCQWo...
למה לא תשתמש בתוסף??
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות
איך הגעת לזה