Pembahasan Teknis Mendalam tgadsspy: Klasifikator dan Pipeline Ingest Data
Dokumentasi teknis pipeline data tgadsspy — integrasi API gramesh, arsitektur klasifikator niche (regex + bobot), pipeline geo-klasifikator 3 langkah, penyimpanan beralamat konten SHA256, dan cache agregasi. Untuk pengembang, peneliti, dan tim kepatuhan.
Tujuan dan audiens#
Dokumen ini adalah pembahasan teknis mendalam tentang cara Telegram Ads Spy mengumpulkan, mengklasifikasikan, dan menyajikan data iklan Telegram. Dokumen ini melengkapi ikhtisar di /about dengan detail tingkat implementasi. Audiens utama: pengembang yang membangun di atas API publik, peneliti yang perlu memahami asal-usul data untuk keperluan kutipan, dan tim kepatuhan yang menilai metodologi OSINT sistem.
1. Sumber data: API gramesh#
Semua data iklan di Telegram Ads Spy berasal dari satu sumber: API HTTP gramesh di api.wall.systems/gramesh. gramesh adalah lapisan proxy/agregasi di atas protokol MTProto Telegram, mengekspos endpoint REST yang mengembalikan JSON terstruktur. Telegram Ads Spy menggunakan gramesh secara eksklusif — tanpa implementasi MTProto langsung, tanpa scraping.
Endpoint utama yang digunakan#
POST /channels.getSponsored
- Input:
{ channel_id: <int>, dc_id: <int> } - Output: array objek pesan bersponsor untuk saluran yang diberikan di wilayah pusat data Telegram yang ditentukan
- Termasuk:
title,text,ctaUrl,ctaLabel,accentColor,mediaType,mediaUrl,ctaTargetUsername - URL media: ditandatangani, TTL 1 jam (
/files/photo/<id>?sig=&exp=)
POST /channels.getInfo
- Input:
{ username: <string> | id: <int> } - Output: metadata saluran —
id,title,username,description,memberCount,avatarUrl
POST /contacts.search
- Input:
{ q: <string> } - Output: array objek saluran yang cocok dengan kueri
POST /channels.getSimilar
- Input:
{ channel_id: <int> } - Output: saluran serupa sesuai model kemiripan internal Telegram
2. Pool saluran dan tingkatan#
| Tingkat | Jumlah anggota | Interval ingest |
|---|---|---|
| S (Super) | 1M+ | 30 menit |
| A | 100k–1M | 2 jam |
| B | 10k–100k | 8 jam |
| C | 1k–10k | 72 jam |
| Placeholder | Tidak diketahui | Tidak diingest |
3. Deduplikasi kreatif#
sidik jari kreatif = sha256(title + text + ctaUrl + ctaLabel + accentColor)
Sebuah kreatif dianggap baru hanya jika sidik jarinya belum pernah dilihat sebelumnya. Ini berarti:
- Iklan yang sama di 100 saluran menghasilkan satu catatan
AdCreative(bukan 100) - Setiap kemunculan di saluran menghasilkan satu catatan
SponsoredImpression
4. Klasifikasi niche#
Langkah 1: Deteksi merek Pencarian terhadap kamus ~400 merek pengiklan yang dikenal. Contoh:
binance→crypto1xbet→gamblingexness→forex
Langkah 2: Penilaian kata kunci Pola regex dievaluasi untuk setiap niche dengan aturan spesifisitas, negasi, dan varian multibahasa.
Taksonomi niche#
crypto, trading, forex, fintech, gambling, betting, vpn, dating, news, education, gaming, retail, tech, bots, adult, signals, remittance, ai, other
5. Klasifikasi geo#
Langkah 1: Analisis TLD URL CTA
.ru → RU, .com.br → BR, .pk → PK, dll.
Langkah 2: Deteksi bahasa pada teks kreatif Arab → AR, Sirilik → RU/CIS, Devanagari → HI, Hangul → KR, Hiragana/Katakana → JP, Thai → TH.
Langkah 3: Agregasi geo di tingkat saluran
Saluran tempat kreatif muncul memiliki sinyal geo tersendiri. Kreatif domain .com berbahasa Inggris yang muncul terutama di saluran berbahasa Rusia diklasifikasikan sebagai RU.
6. Mirror media#
Cron Telegram Ads Spy-media-mirror (setiap 5 menit):
- Fetch: HTTP GET ke URL media bertanda tangan gramesh
- Hash: SHA-256 dari konten biner mentah
- Simpan: Tulis ke
/var/www/tgadsspy-media/<prefiks>/<sha256-hex>.<ext> - Perbarui:
AdCreative.mediaUrldiperbarui ke/m/<prefiks>/<sha256-hex>.<ext>
Nginx melayani jalur /m/ dengan Cache-Control: public, immutable, max-age=31536000.
7. Ekstraksi pengiklan#
- Pengiklan domain: jika
ctaUrladalah URL eksternal, domain yang terdaftar menjadi catatanAdvertiserdengantype: domain - Pengiklan Telegram: jika
ctaUrladalah URLt.me/<username>, nama pengguna menjadi catatanAdvertiserdengantype: telegram
8. Cache agregasi#
Telegram Ads Spy:home:agg (TTL 120 dtk): jumlah total kreatif, pengiklan, saluran, niche teratas, 20 kreatif terbaru, statistik hari ini.
Telegram Ads Spy:pool:stats (TTL 600 dtk): jumlah saluran per tingkat, jumlah yang memenuhi syarat untuk sponsor, negara yang diwakili.
9. Spider BFS discover-similar#
- Pemilihan anchor:
Channel.lastSimilarCheckAt IS NULL OR < NOW()-1h - Fan-out: 30 saluran per tick (setiap menit dalam proses)
- Cooldown anchor: 1 jam untuk mencegah re-spidering saluran yang sama
10. Kelengkapan data dan kesenjangan yang diketahui#
Perkiraan cakupan: Untuk pesan bersponsor kabinet EUR, cakupan diperkirakan 65–75% dari semua kreatif unik dalam periode tersebut.
Kesenjangan yang diketahui: iklan di grup, pesan bot-ke-pengguna, hasil bot inline, saluran yang sangat baru, saluran dengan < 1k pelanggan.
11. Lisensi data dan kutipan#
Semua data berada di bawah CC-BY-4.0:
Sumber: tgadsspy.com · tgadsspy.com/blog/tgadsspy-classifier-pipeline-technical-deep-dive · CC-BY-4.0
Also available in:
Cite this article
tgadsspy research (2026). Pembahasan Teknis Mendalam tgadsspy: Klasifikator dan Pipeline Ingest Data. tgadsspy.com. Retrieved from https://tgadsspy.com/blog/id-tgadsspy-teknis-mendalam-klasifikator-pipeline-2026
Licensed CC-BY-4.0 — reuse allowed including commercial, attribution required.