Python ile gruplardaki TÜM dosyaları rahatça çekebilirsiniz

0x1D

Kıdemli Üye
23 Nis 2020
2,650
78
MARS
Merhaba, dünkü programın pyrogram ile yapılmış ve daha kapsamlı hali. İstediğiniz dosya türünü seçiyorsunuz ve indirmesini bekliyorsunuz. yine api almanız gerekmekte, nahan da şuradan giriş yapıp hemencicik bir api alabilirsiniz: https://my.telegram.org/auth
Fotoğraflar koyayım, kullanımını anlarsınız:



resim.png


resim.png


resim.png


resim.png


Kod: https://github.com/xenopeltis1/telegram-grup


Kod:
from pyrogram import Client
from pyrogram.filters import media
import os


class bcolors:
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'


app = Client(
    session_name="my_account",
    api_id=123456,
    api_hash="hash"
    )


def temizle():
    os.system("cls") if os.name == "nt" else os.system("clear")


def progress(current, total):
    temizle()
    print(f"İndiriliyor {current/100000:.2f}%")


def getMediaFromChat(chatId, historyCount, filterA):
    count = 0
    for file in app.search_messages(chatId, filter=filterA):
        fileId = getattr(file, filterA).file_id
        print(app.download_media(fileId, progress=progress)+" indirildi")
        temizle()
        count += 1

    print(f"""{bcolors.OKBLUE}[{bcolors.OKGREEN}{count}
    {bcolors.OKBLUE}] adet dosya başarıyla
     downloads klasörüne indirildi.""")


def getMessagesFromGroup(app):
    count = 0
    for channel in app.get_dialogs():
        if "group" in channel.chat.type:
            print(f"""{bcolors.OKBLUE}[ {bcolors.OKGREEN}{count}{bcolors.OKBLUE} ] - """ + str(channel.chat.title))
        count += 1

    g_index = int(input("chat seç: "))
    chatId = app.get_dialogs()[g_index].chat.id
    historyCount = app.get_history_count(chatId)

    print(f"""hangi tür dosyaları kaydetmek istiyorsun\n{bcolors.OKBLUE}[ {bcolors.OKGREEN}0 {bcolors.OKBLUE} ] - photo\n{bcolors.OKBLUE}[ {bcolors.OKGREEN}1 {bcolors.OKBLUE} ] - video\n{bcolors.OKBLUE}[ {bcolors.OKGREEN}2 {bcolors.OKBLUE} ] - ********\n{bcolors.OKBLUE}[ {bcolors.OKGREEN}3 {bcolors.OKBLUE} ] - audio""")

    filterChoice = int(input(f"\t{bcolors.OKGREEN}Seçiminiz: "))
    choices = ["photo", "video", "********", "audio"]
    getMediaFromChat(chatId, historyCount, choices[filterChoice])


with app:
    getMessagesFromGroup(app)

app.run()

 

gl0balfox

Üye
9 Tem 2019
228
0
Her yazdırmada os.clean yapmak yerine sys kütüphanesini import edip

Kod:
sys.stdout.write("\r mesaj")
sys.stdout.flush()

yapabilirsiniz. Tek dezavantajı birden fazla satır kullanamamak. Böylece banner da ekleyebilirsiniz, hem programı açar açmaz terminali resetlemek kimileri için rahatsız edici olabilir :puah
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.