Skip to content

nethzer/teletok

Repository files navigation

TeleTok Auto-Poster Bot

TeleTok Auto-Poster Bot adalah Telegram Bot cerdas yang dapat mengunduh video dari TikTok (tanpa watermark), mengekstrak informasi dan caption, serta secara otomatis mempublikasikannya ulang (cross-posting) ke Facebook Page dan Instagram (Reels) menggunakan Meta Graph API. Bot ini sangat cocok untuk keperluan affiliate marketing atau manajemen konten sosial media otomatis.

Fitur Utama

  • Unduh TikTok Tanpa Watermark: Menggunakan yt-dlp untuk mengunduh video dengan kualitas terbaik.
  • Penyisipan Link Affiliate: Mendukung penggantian/penambahan link affiliate ke dalam caption asli.
  • Auto Cross-Posting: Otomatis memposting video yang diunduh ke:
    • Facebook Page
    • Instagram (menggunakan Google Drive sebagai penyimpanan sementara yang bisa diakses publik oleh API Instagram)
  • Manajemen Multi-Akun: Mendukung banyak akun Meta/Facebook Page sekaligus dalam satu bot.
  • Flow Login Meta Manual: Terintegrasi dengan Meta OAuth secara aman langsung dari dalam chat bot Telegram.
  • Access Control (Whitelist): Hanya ID pengguna Telegram yang terdaftar yang dapat menggunakan bot ini.

Persyaratan Sistem

  • Python 3.10+
  • ffmpeg (Dibutuhkan oleh yt-dlp untuk memproses video)

Instalasi

  1. Clone repositori ini atau ekstrak source code ke direktori pilihan Anda.

  2. Buat Virtual Environment (Opsional namun disarankan):

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # Linux/Mac
    source venv/bin/activate
  3. Install Dependencies:

    pip install -r requirements.txt
  4. Cara Membuat Bot Telegram:

    • Buka aplikasi Telegram dan cari @BotFather.
    • Ketik /newbot dan ikuti instruksi untuk memberikan nama dan username bot Anda.
    • Setelah selesai, BotFather akan memberikan HTTP API Token. Simpan token ini untuk dimasukkan ke dalam file .env.
    • Untuk mendapatkan Telegram ID Anda (yang akan dimasukkan ke ALLOWED_USER_IDS), Anda bisa chat dengan @userinfobot atau bot serupa di Telegram.
  5. Cara Mendapatkan Kredensial Google Drive API:

    • Buka Google Cloud Console.
    • Buat Project baru atau pilih project yang sudah ada.
    • Pergi ke menu APIs & Services > Library.
    • Cari Google Drive API dan klik Enable (Aktifkan).
    • Pergi ke menu APIs & Services > OAuth consent screen.
      • Pilih External (atau Internal jika Anda menggunakan Google Workspace).
      • Isi nama aplikasi, email dukungan, dan email developer. Simpan dan lanjutkan.
      • Tambahkan Test Users berupa alamat email Google yang akan Anda gunakan untuk login saat bot meminta otorisasi.
    • Pergi ke menu APIs & Services > Credentials.
      • Klik Create Credentials > OAuth client ID.
      • Pilih Application type sebagai Desktop app.
      • Beri nama (misal: "TeleTok Drive") lalu klik Create.
    • Unduh file JSON (dengan mengklik ikon download) dan ganti namanya menjadi oauth_credentials.json.
    • Simpan file oauth_credentials.json tersebut tepat di dalam root folder proyek ini.
  6. Cara Mendapatkan Kredensial Aplikasi Meta: CATATAN PENTING (WAJIB DIBACA) Untuk dapat menggunakan fitur publikasi video secara otomatis melalui Meta Graph API, Anda DIWAJIBKAN memiliki Akun Meta Business yang sudah Terverifikasi. Tanpa verifikasi bisnis, aplikasi Anda tidak akan bisa mendapatkan akses lanjutan untuk izin pages_manage_posts dan instagram_content_publish.

    • Buka Meta untuk Pengembang (Meta for Developers) dan login menggunakan akun Facebook Anda.
    • Klik Aplikasi Saya (My Apps) di pojok kanan atas, lalu klik Buat Aplikasi.
    • Pilih kasus penggunaan yang sesuai (biasanya Bisnis atau Lainnya).
    • Isi nama aplikasi Anda dan email kontak, lalu buat aplikasi.
    • Di dashboard aplikasi, cari produk Login Facebook dan klik Siapkan.
      • Pilih Web, lalu masukkan URL domain milik Anda sendiri (misal: https://domain-anda.com/) dan simpan.
      • Di menu kiri bawah Login Facebook, klik Pengaturan.
      • Pada bagian Pengaturan Login Facebook, pastikan "Login OAuth Web" aktif.
      • Tambahkan URI Pengalihan OAuth yang Valid (Valid OAuth Redirect URIs) sesuai domain Anda (misal: https://domain-anda.com/). URL ini digunakan sebagai callback saat proses autentikasi di Telegram. Simpan perubahan.
    • Pergi ke menu Pengaturan > Dasar (Settings > Basic) di bilah sisi kiri.
    • Anda akan menemukan ID Aplikasi (App ID) dan Rahasia Aplikasi (App Secret).
    • Pergi ke menu Pengaturan > Lanjutan (Settings > Advanced).
    • Gulir ke bawah pada bagian Keamanan untuk menemukan Token Klien (Client Token).
    • Pastikan aplikasi Anda minimal berada di Mode Pengembangan (Development Mode). Untuk penggunaan secara internal, Anda cukup menambahkan tim Anda sebagai Penguji (Tester) di menu Peran Aplikasi. Jika ingin rilis publik, Anda harus mengajukan App Review ke pihak Facebook.
  7. Konfigurasi Environment Variables:

    • Salin file .env.example menjadi .env.
    • Isi variabel yang dibutuhkan:
      BOT_TOKEN=token_bot_telegram_anda
      ALLOWED_USER_IDS=123456789,987654321
      ADMIN_USERNAME=your_telegram_username
      
      META_APP_ID=id_aplikasi_meta_anda
      META_APP_SECRET=secret_aplikasi_meta_anda
      META_CLIENT_TOKEN=client_token_aplikasi_meta_anda
      META_REDIRECT_URI=https://domain-anda.com/

Cara Penggunaan Bot

  1. Buka Telegram dan cari bot Anda, lalu ketik /start.
  2. Jika Telegram ID Anda belum diizinkan, bot akan menolak akses. Masukkan ID Anda ke ALLOWED_USER_IDS di file .env.
  3. Pengaturan Akun Meta (Facebook & Instagram):
    • Ketik /settings untuk masuk ke menu manajemen akun.
    • Klik "Tambah Akun Baru" untuk membuat profil akun.
    • Gunakan tombol "Login Meta" dan ikuti tautan yang diberikan untuk mendapatkan token Meta.
    • Ambil Token Halaman Otomatis untuk menghubungkan Facebook Page dan Instagram ID.
    • Masukkan ID Folder Google Drive (GDRIVE_FOLDER_ID) tempat video sementara akan diunggah untuk keperluan API Instagram. Pastikan folder ini dapat diakses untuk tulis oleh akun Google yang Anda otorisasi.
  4. Proses Pengunduhan & Posting:
    • Kirimkan Link Video TikTok ke chat bot.
    • Bot akan meminta Anda mengirimkan Link Affiliate Anda.
    • Setelah video selesai diunduh, bot akan mengirimkan video beserta tombol pilihan posting.
    • Pilih "Post ke: [Nama Akun]" untuk memulai auto-posting.

Struktur Proyek

  • bot.py : Skrip utama yang mengatur alur percakapan Telegram Bot dan integrasi fitur.
  • downloader.py : Modul yang menangani pengunduhan video TikTok via yt-dlp.
  • meta_auth.py : Menangani proses pertukaran OAuth Meta dan perolehan Long-Lived Access Token.
  • social_poster.py : Berisi logika untuk mengunggah video ke Facebook Graph API dan Instagram Graph API.
  • gdrive_uploader.py : Mengunggah video sementara ke Google Drive agar URL videonya bisa diakses publik (dibutuhkan oleh Instagram API), lalu menghapusnya kembali.

Lisensi & Keamanan

Proyek ini menggunakan MIT License. Anda bebas menggunakan, memodifikasi, dan mendistribusikan kode ini untuk keperluan apapun, baik komersial maupun pribadi, selama menyertakan file lisensi asli.

DISCLAIMER / PERINGATAN HUKUM

  • Kepatuhan Meta API: Skrip ini mematuhi standar otorisasi (OAuth) resmi dari Meta Graph API. Namun, penggunaan otomatisasi publikasi (auto-posting) massal yang bersifat spam dapat melanggar pedoman komunitas Meta dan berisiko pada pembatasan akun/Page Anda.
  • TikTok Terms of Service (TOS): Pengunduhan video menggunakan yt-dlp pada dasarnya adalah bentuk scraping yang secara teknis dilarang oleh TOS TikTok. Penggunaan skrip ini sepenuhnya adalah tanggung jawab pengguna. Pembuat skrip tidak bertanggung jawab jika IP atau akun Anda diblokir oleh TikTok.
  • Hak Cipta (Copyright): Mengunduh dan mengunggah ulang video milik orang lain tanpa izin (meskipun tanpa watermark) dapat melanggar undang-undang Hak Cipta. Alat ini disediakan hanya untuk tujuan edukasi. Segala bentuk pelanggaran hak cipta sepenuhnya menjadi risiko pengguna. Pengembang (Developer) tidak memikul tanggung jawab hukum atas penyalahgunaan skrip ini.

About

Telegram Bot for automating TikTok video downloads (no watermark), cleaning captions, inserting affiliate links, and auto-posting to Facebook & Instagram Reels via Meta Graph API.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages