Gündemi takip etmek istiyorum ama:

Sürekli X (Twitter) akışına bakmak istemiyorum

Bildirim kirliliği yaşamak istemiyorum

Manuel kontrol yerine otomatik ve temiz bir özet istiyorum

Bu ihtiyaçtan yola çıkarak, X (Twitter) üzerindeki Top 5 trendi otomatik olarak Telegram kanalına gönderen, tamamen self-hosted bir sistem geliştirdim.

Bu yazıda; projenin ne yaptığını, nasıl çalıştığını ve neden bu mimariyi tercih ettiğimi anlatıyorum.


🎯 Projenin Amacı

Projenin amacı oldukça net:

X (Twitter) gündemindeki Top 5 trendi, ilgili haber başlıklarıyla birlikte, günde belirli saatlerde otomatik olarak Telegram kanalına göndermek.

Böylece:

Gündemi kaçırmıyorum

Gereksiz içerik görmüyorum

Spam yok

Manuel işlem yok

Sadece temiz ve okunabilir bir gündem özeti.


📌 Proje Neler Yapıyor?

Bu sistem:

📈 X (Twitter) Top 5 trendi alır

📰 Her trend için Google News RSS üzerinden ilgili haberleri çeker

🧹 Başlıkları temizler (kaynak adları, tekrarlar, gürültü)

✂️ Çok uzun başlıkları kısaltır

✉️ Tek ve okunabilir bir mesaj haline getirir

📢 Telegram kanalına otomatik olarak gönderir

Tüm bu süreç uçtan uca otomatik çalışır.


🧠 Neden n8n?

Bu projede n8n kullanmamın temel sebepleri:

Workflow’ları görsel olarak net şekilde yönetebilmek

Schedule (zamanlama) tarafında esnek olmak

Docker ile sorunsuz çalışması

Açık kaynak ve self-hosted olması

Yani:

Ne ücretli bir servise bağımlılık var
Ne de dış bir SaaS riski

Her şey tamamen benim kontrolümde.


🐳 Neden Docker?

Docker kullanmamın sebebi klasik ama güçlü:

Tek komutla ayağa kalkması

Ortam bağımsız çalışması

Sunucuya taşırken sürpriz çıkarmaması

Environment variable yönetiminin temiz olması

Aynı yapı:

Local bilgisayarda

Linux sunucuda

VPS üzerinde

hiç değişmeden çalışabiliyor.


🔐 Güvenlik ve Konfigürasyon

Projede hiçbir hassas bilgi hard-coded değil.

Telegram ile ilgili:

Bot Token

Channel / Chat ID

tamamı:

.env dosyasından

Docker environment variable olarak

okunuyor.

Bu sayede:

Repo güvenli

Her kullanıcı kendi botunu kullanabiliyor

Açık kaynak paylaşım sorunsuz


📢 Telegram Kanal Mantığı

Bu projede mesajlar kişisel sohbet yerine Telegram kanalına gönderiliyor.

Bunun avantajları:

Kanala katılan herkes aynı içeriği görüyor

Tek noktadan yayın

Broadcast mantığı

Yorum ve spam karmaşası yok

Telegram kanallarında zaten varsayılan olarak sadece adminler mesaj atabiliyor.
Bot da kanala admin olarak ekleniyor.

📢 Aktif Telegram kanalı:
👉 https://t.me/xtrendleri


⏰ Zamanlama

Şu an önerilen çalışma saatleri:

🕛 Öğle: 12:30

🕕 Akşam: 18:30

🌙 Gece: 23:30

Bu saatler:

Trendlerin gerçekten oturduğu

Gündemin değiştiği

zamanlara denk geliyor.
İstenirse n8n üzerinden tamamen özelleştirilebiliyor.


🖥️ Sunucu Üzerinde Çalışma Mantığı

Sistem şu şekilde çalışıyor:

n8n Docker container olarak ayağa kalkıyor

Workflow bir kez import edilip Active (Publish) yapılıyor

Bundan sonra:

UI’ye tekrar gerek kalmıyor

Sunucu 7/24 çalışıyor

Bildirimler otomatik geliyor

İlk kurulumda web arayüzü kullanılıyor, sonrası tamamen headless.


🌍 Genişletilebilirlik

Bu yapı kolayca genişletilebilir:

Farklı ülkeler (US, DE, FR, ES)

Farklı Telegram kanalları

Farklı diller

Ayrı botlar

Aynı mimari, sadece küçük parametre değişiklikleriyle çalışıyor.


📦 Açık Kaynak Proje

Projenin tamamı GitHub’da açık kaynak olarak paylaşıldı:

🔗 GitHub repository:
👉 https://github.com/gorkemkayas/XTrends-TelegramBot-with-n8n

Önemli bir not:

n8n workflow’ları, her kullanıcının kendi n8n instance’ında import edilip aktive edilmelidir.

Bu, n8n’in çalışma mantığı ve güvenlik açısından doğru bir yaklaşım.


🎉 Sonuç

Bu proje sayesinde:

X (Twitter) gündemini

Temiz, sade ve otomatik şekilde

Telegram üzerinden

Hiç manuel işlem yapmadan

takip edebiliyorum.

Küçük ama günlük hayatta gerçekten işe yarayan bir otomasyon oldu.