Sosyal medya büyümeni fiziksel olarak gözlemleyebileceğin bir takipçi sayacı yapmaya ne dersin? Yeni takipçiler geldiğinde ses çıkaran, ekran üzerinde gerçek zamanlı sayı güncelleyen ve hatta dilersen Telegram’dan bildirim gönderen bir takipçi sayacı tasarladık. Üstelik bu sayaç, şık bir çerçeve tasarımıyla masanda dekoratif bir obje gibi duruyor.

Kullanılan Malzemeler
Yukarıdaki donanımlar sayesinde projeniz güçlü, hızlı ve çok yönlü bir hale geliyor. Raspberry Pi 5 ile gelen bağlantı seçenekleri ve performans avantajları, bu ve buna benzer internet tabanlı uygulamalar için harika bir seçenek olarak ön plana çıkıyor.
Takipçi Sayacı Projesi Nasıl Çalışıyor?
Sistem, sosyal medya platformlarından -Biz YouTube, X-Twitter ve Reddit’i kullandık. Siz istediğiniz kadar platform ekleyebilirsiniz.- gerçek zamanlı takipçi sayısını çekiyor. Arka planda çalışan Python betikleri sayesinde:
- Sayılar ekranda güncelleniyor.
- Her yeni takipçide ses efekti çalıyor.
- İstenirse Telegram’dan anlık bildirim gidiyor.
Tüm bu süreç, Raspberry Pi 5 üzerinde çalışan iki ana Python dosyasıyla yürütülüyor:
- sosyalmedya.py: API’lerden veri çeker
- uygulama.py: Arayüz, ses ve bildirimleri yönetir.
Her 60 saniyede bir güncelleme yapılır. Eğer bir artış tespit edilirse, sistem otomatik olarak ses efekti çalar ve mesaj yollar. Dilerseniz, süreyi kendi tercihinize göre uzatıp, kısaltabilirsiniz.
Kodlar
Proje, Python ile yazılmış iki temel dosya üzerine kurulmuştur. sosyalmedya.py dosyası YouTube, X-Twitter ve Reddit API’lerinden takipçi sayısını çekmek için yazıldı. uygulama.py ise bu verileri kullanıcı arayüzünde gösterir, ses efektini tetikler ve istenirse Telegram bildirimlerini gönderir.
- Arayüz: Tkinter kütüphanesiyle oluşturulmuş, ikonlarla zenginleştirilmiş bir panel.
- Ses: Takipçi sayısı arttığında otomatik olarak ses dosyası çalınır
- Bildirim: Telegram botu üzerinden kullanıcıya anlık mesaj gönderilir.
- Güncelleme Döngüsü: Her 60 saniyede bir veriler yeniden çekilir ve kontrol sağlanır. (Süre sizin tercihinize kalmış)
Sistem, API entegrasyonlarını basit ve anlaşılır hale getirirken aynı zamanda yüksek etkileşimli bir masaüstü deneyimi sunar.
sosyalmedya.py
from googleapiclient.discovery import build
import time
import requests
import praw
def youtube_takipci():
API_KEY = ""
CHANNEL_ID = ""
youtube = build("youtube", "v3", developerKey=API_KEY)
request = youtube.channels().list(
part="statistics",
id=CHANNEL_ID
)
response = request.execute()
if "items" in response:
subs = response["items"][0]["statistics"]["subscriberCount"]
return subs
else:
return 0
def x_twitter_takipci():
BEARER_TOKEN = ""
USERNAME = ""
url = f"https://api.twitter.com/2/users/by/username/{USERNAME}?user.fields=public_metrics"
headers = {
"Authorization": f"Bearer {BEARER_TOKEN}",
"User-Agent": "v2UserLookupPython"
}
# API isteği yap
response = requests.get(url, headers=headers)
if response.status_code == 200:
user_data = response.json()
followers_count = user_data["data"]["public_metrics"]["followers_count"]
return followers_count
else:
return 0
def reddit_takipci():
# Reddit API kimlik bilgileri
CLIENT_ID = "" # Client ID
CLIENT_SECRET = "" # Client Secret
USER_AGENT = "deneme_script" # Rastgele bir isim verebilirsin
# Reddit API'ye bağlan
reddit = praw.Reddit(
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
user_agent=USER_AGENT
)
subreddit_name = "" # Burayı istediğin subreddit ile değiştir
subreddit = reddit.subreddit(subreddit_name)
return subreddit.subscribers
if __name__ == "__main__":
print(x_twitter_takipci())
uygulama.py
import tkinter as tk
from tkinter import font, PhotoImage
import os
import pygame
import requests
import sosyalmedya
# Ses ve bildirim özelliklerini kontrol eden değişkenler
ses_ozellik = True
bildirim_ozellik = True
x = 0
# Pygame ses modülünü başlat
pygame.mixer.init()
def play_sound():
"""Takipçi sayısı arttığında sesi çalar."""
sound_path = os.path.join("C:/Users/PC/Desktop/icons/", "sound.mp3")
if os.path.exists(sound_path):
pygame.mixer.music.load(sound_path)
pygame.mixer.music.play()
def telegram_mesaj():
"""Telegram'a mesaj gönderir."""
token=""
chat_id=0
url = f"https://api.telegram.org/bot{token}/sendMessage"
params = {
'chat_id': chat_id,
'text': "YENİ TAKİPÇİ!!"
}
try:
response = requests.post(url, params=params)
if response.status_code == 200:
print("Mesaj başarıyla gönderildi!")
else:
print(f"Mesaj gönderilemedi, hata kodu: {response.status_code}")
except Exception as e:
print(f"Telegram mesajı gönderilemedi: {e}")
def toggle_ses():
global ses_ozellik
ses_ozellik = not ses_ozellik
ses_button.config(text=f"Ses: {'Açık' if ses_ozellik else 'Kapalı'}")
def toggle_bildirim():
global bildirim_ozellik
bildirim_ozellik = not bildirim_ozellik
bildirim_button.config(text=f"Bildirim: {'Açık' if bildirim_ozellik else 'Kapalı'}")
def update_data():
global x, youtube_previous, twitter_previous, reddit_previous
youtube = sosyalmedya.youtube_takipci()
twitter = sosyalmedya.x_twitter_takipci()
reddit = sosyalmedya.reddit_takipci()
if x == 0:
youtube_previous = youtube
twitter_previous = twitter
reddit_previous = reddit
x += 1
if ses_ozellik and ((youtube > youtube_previous) or (twitter > twitter_previous) or (reddit > reddit_previous)):
play_sound()
if bildirim_ozellik and ((youtube > youtube_previous) or (twitter > twitter_previous) or (reddit > reddit_previous)):
telegram_mesaj()
youtube_previous = youtube
twitter_previous = twitter
reddit_previous = reddit
youtube_label.config(text=f"YouTube: {youtube}")
twitter_label.config(text=f"Twitter: {twitter}")
reddit_label.config(text=f"Reddit: {reddit}")
root.after(60000, update_data)
root = tk.Tk()
root.title("Sosyal Medya Takipçi Sayıları")
root.geometry("400x350")
root.config(bg="white")
font_style = font.Font(family="Helvetica", size=14)
icon_path = "C:/Users/PC/Desktop/icons/"
youtube_icon = PhotoImage(file=os.path.join(icon_path, "youtube.png")).subsample(13, 13)
twitter_icon = PhotoImage(file=os.path.join(icon_path, "twitter.png")).subsample(5, 5)
reddit_icon = PhotoImage(file=os.path.join(icon_path, "reddit.png")).subsample(6, 6)
root.grid_rowconfigure(list(range(7)), weight=1)
root.grid_columnconfigure((0, 1), weight=1)
youtube_label = tk.Label(root, text="YouTube: Yükleniyor...", font=font_style, bg="white", image=youtube_icon, compound="left", padx=10)
youtube_label.grid(row=0, column=0, columnspan=2, pady=5, sticky="nsew")
twitter_label = tk.Label(root, text="Twitter: Yükleniyor...", font=font_style, bg="white", image=twitter_icon, compound="left", padx=10)
twitter_label.grid(row=3, column=0, columnspan=2, pady=5, sticky="nsew")
reddit_label = tk.Label(root, text="Reddit: Yükleniyor...", font=font_style, bg="white", image=reddit_icon, compound="left", padx=10)
reddit_label.grid(row=4, column=0, columnspan=2, pady=5, sticky="nsew")
ses_button = tk.Button(root, text=f"Ses: {'Açık' if ses_ozellik else 'Kapalı'}", font=font_style, bg="lightgray", command=toggle_ses)
ses_button.grid(row=5, column=0, columnspan=2, pady=5, sticky="nsew")
bildirim_button = tk.Button(root, text=f"Bildirim: {'Açık' if bildirim_ozellik else 'Kapalı'}", font=font_style, bg="lightgray", command=toggle_bildirim)
bildirim_button.grid(row=6, column=0, columnspan=2, pady=5, sticky="nsew")
update_data()
root.mainloop()
İhtiyacınız olacak sosyal medya platformlarının ikonlarını da sizinle paylaşıyoruz.





3D Baskı Tasarımı
Sosyal medya takipçi sayacı projesi, sadece elektronik değil, görsel olarak da oldukça tatmin edici bir şekilde tasarlandı. 3D yazıcıyla üretilen bu özel tasarım sayesinde cihaz, sıradan bir çerçeve gibi görünüyor. Ama içinde Raspberry Pi 5, HDMI ekran, güç ve ses bağlantıları gizli!

Parçalar:
PLA ile yazdırılmış bu model, estetik ve fonksiyonelliği aynı yapıda buluşturuyor. Tasarım, ekranı tam ortalayacak şekilde optimize edilmiştir.
Devre Şeması
Bu projede doğrudan GPIO pin bağlantısı yapılmamıştır. Tüm işlemler USB ve HDMI üzerinden yürütülmektedir. Bu da kurulumu son derece kolay hale getiriyor.
- HDMI ekran → Raspberry Pi 5 HDMI portu
- Ses kartı → USB port
- Güç → USB-C
Ekstra lehim veya breadboard kullanmadan tamamlanan bu sistem, özellikle yazılım odaklı maker’lar için ideal bir proje haline geliyor.
Sonuç ve İlham
Sosyal medya takipçi sayacı projesi, yazılım ile donanımın buluştuğu en eğlenceli noktalardan biri olarak ön plana çıkıyor. Kendi sayacınızı yapmak; hem sosyal medya motivasyonunuzu artırır hem de teknik becerilerinizi geliştirmenizi sağlar.
YouTube kanalınız mı var? Yeni bir TikTok hesabı mı açtınız? Ya da Reddit topluluğunuzun büyümesini mi izlemek istiyorsunuz? Bu sayaç sizi anbean bilgilendiriyor.
Siz de takipçi sayacınızı yapın, sosyal medyadaki büyümenizi gerçek zamanlı izleyin!
Detaylar için Youtube videomuzu izleyebilirsiniz!
Hadi ne duruyorsun. Projeyi indir, kur ve takipçilerinle birlikte büyümeye başla!