Bot & Sistem Otomasyonu
Açık Kaynak

Rust Telegram Watchlist Orchestrator

RustTeloxideTokioFile I/Odotenv

Medya izleme listelerini yöneten, rastgele öneri motoruna ve flat-file veri kalıcılığına sahip, Rust ile yazılmış asenkron bir Telegram botu.

Teknoloji Yığını

RustTeloxideTokioFile I/Odotenv

Sistem Metrikleri

Uzak veritabanı bağlantılarının getirdiği ağ gecikmeleri (network latency) tamamen ortadan kaldırılarak, durum okuma/yazma işlemleri disk I/O hızına indirgendi
Kayıt ekleme aşamasındaki duplicate kontrolü için `HashSet` kullanılarak iterasyon maliyetleri düşürüldü ve CPU cycle'ları minimize edildi

Bunu Neden İnşa Ettim?

"Akıllı TV'de içerik tüketirken izleme kaydı tutma (logging) zorluğunu çözmek için tasarlandı. Hantal TV kumandaları veya kompleks web arayüzleri yerine, state yönetimini Telegram üzerinden dışa açarak kullanıcının mobil cihazından anında kayıt tutmasını ve öneri almasını sağladım. Operasyonel yükü (RDBMS bakımını) sıfıra indirmek için mimari, statik olarak derlenmiş bağımlılıksız bir Rust binary'si ve flat-file depolama üzerine kurgulandı."

Mimari & Kararlar

Sistem, Telegram API kancaları (bindings) için `teloxide` framework'ü ve `tokio` asenkron runtime'ı üzerine inşa edilmiştir. State kalıcılığı flat-file disk I/O ile sağlanır. Tekilleştirme işlemlerini (deduplication) optimize etmek için dosya içerikleri belleğe `std::collections::HashSet` olarak yüklenir, bu sayede yeni eklemeler O(1) karmaşıklığında denetlenir. Mutasyon sonrası state leksikografik olarak sıralanıp diske yazılır (flush). Ayrıca, Telegram'ın katı 4096 byte'lık mesaj sınırını aşmak için payload'ları dinamik olarak bölen özel bir string buffer algoritması (`send_long_message`) entegre edilmiştir.

Temel Özellikler

  • 01.`teloxide` REPL mimarisi üzerinden yürütülen asenkron komut yönlendirmesi (routing ve dispatch)
  • 02.`HashSet` tabanlı O(1) tekilleştirme ve otomatik sıralama sunan lokal flat-file state kalıcılığı
  • 03.Telegram API payload limitlerini by-pass etmek için geliştirilmiş dinamik chunking algoritması
  • 04.Hatalı veya eksik kullanıcı girdilerini tolere edip öneri sunan alt-dize (sub-string) çözümleme mekanizması