Все три работают в браузере и не требуют ни Python, ни api_id. Выбери один и иди по шагам сверху вниз. Способ 3 качает всё подряд без твоего участия, он же и главный.
Chrome и аккаунт Телеграма, у которого есть доступ к тому каналу.
Если на этом компе ты сидишь под другим профилем Телеграма, канала просто не будет в списке чатов. Тогда добавь нужный аккаунт вторым, Телеграм умеет держать несколько сразу и переключаться между ними.
Работать строго на адресе web.telegram.org/k/ со слешем на конце. Версия /a/ это другой клиент, там всё иначе.
Годится, если не хочешь возиться с расширениями. Минус в том, что код надо вставлять заново на каждое видео.
web.telegram.org/k/, зайди в канал.
>. Там появится курсор.
allow pasting
(async()=>{const v=[...document.querySelectorAll("video")].filter(x=>x.currentSrc).sort((a,b)=>b.videoWidth*b.videoHeight-a.videoWidth*a.videoHeight)[0];if(!v){console.error("no video");return}const u=v.currentSrc;let n="video.mp4";try{const m=JSON.parse(decodeURIComponent(u.split("/").pop()));if(m.fileName)n=m.fileName}catch(e){}const p=[];let o=0,t=null;while(t===null||o<t){const r=await fetch(u,{headers:{Range:"bytes="+o+"-"}});if(r.status!==200&&r.status!==206)throw new Error(r.status);const c=r.headers.get("Content-Range");const b=await r.blob();p.push(b);if(c){const m=c.match(/(\d+)-(\d+)\/(\d+)/);o=+m[2]+1;t=+m[3]}else{o+=b.size;t=o}console.log((o/1048576).toFixed(1)+" / "+(t/1048576).toFixed(1)+" MB")}const b=new Blob(p,{type:"video/mp4"});const a=document.createElement("a");a.href=URL.createObjectURL(b);a.download=n;document.body.appendChild(a);a.click();a.remove();console.log("done "+n)})();
SyntaxError. Мы на этом уже дважды попались.12.0 / 714.2 MB. Когда добьёт до конца, Chrome сам предложит сохранить файл.
Ставим расширение и скрипт. Установка общая со способом 3, если уже сделал её там, шаги 1-5 пропускай.
chrome://extensions/, найди Tampermonkey, нажми Подробнее.
https://gist.githubusercontent.com/dan4astr/c254c9125b5695609d7f6ec9a80a6d25/raw/telegram-download.user.js
web.telegram.org/k/, зайди в канал, открой видео на весь экран.
Тот же скрипт, вторая кнопка. Если способ 2 уже установлен, начинай сразу с шага 1 ниже, ставить ничего не надо.
chrome://settings/downloads и выключи переключатель Всегда указывать место для скачивания.
chrome://extensions/. Проверь его первым делом, потом обнови страницу через Ctrl F5.[TG Video Grab] ready. Нет строки, значит скрипт не запустился. Проверь, что адрес именно /k/, и что в Tampermonkey скрипт включён.chrome://settings/downloads.Reason.Всё, что выше, упирается в браузер, который плохо отдаёт большие файлы. Есть способ, который снимает разом и вечную загрузку, и ручное листание, и отсутствие текстов.
Это Telethon и скрипт tg_export.py на первом компе. Он забирает канал целиком, вместе с текстами постов, напрямую с серверов Телеграма, и умеет продолжать с места обрыва.
Ему нужен только api_id с сайта my.telegram.org/apps. Форма там отдаёт ошибку, когда страна твоего IP не совпадает со страной номера телефона. Лечится не выключением VPN, а переключением его на страну номера. Или заходом с телефона по мобильному интернету.
Ключи потом работают откуда угодно, к IP они не привязаны.