Bazen en iyi projeler büyük değil, küçük ve bir sorunu iyi çözen araçlardır. Ben de bilgisayarımın açılışını, yeniden başlatılmasını veya önceden kapatıldığını bildiren basit bir yol arıyordum. Ağır bir izleme panosu veya企业 düzeyinde bir izleme aracı istemedim, sadece temiz bir Telegram bildirimiyle birlikte yararlı ayrıntılar istedim. Böylece Windows11Alert'i oluşturdum.
Windows11Alert, bilgisayarınız açılırsa Telegram bildirimi gönderen hafif bir Windows aracıdır. Ayrıca Windows Olay Günlüklerinden önceki kapatma veya yeniden başlatma olayını da algılar ve sonraki açılışta raporlar.
Windows11Alert'in Özellikleri
Windows11Alert, Windows açılırsa otomatik olarak çalışır ve sistem ayrıntıları ile birlikte bir Telegram mesajı gönderir. Raporlayabileceği ayrıntılar arasında:
- Bilgisayar adı
- Windows kullanıcısı adı
- Yerel IP adresi
- Genel IP adresi
- Tarih ve saat
- Açılış zamanı
- İşletim sistemi sürümü
- İşlemci
- Mimari
- RAM ayrıntıları
- Önceki kapatma/yeniden başlatma olayı
Temel akış şöyle görünür: Windows açılır ↓ Windows11Alert otomatik olarak çalışır ↓ Windows Olay Günlüklerini kontrol eder ↓ Önceki kapatma/yeniden başlatma ayrıntılarını gönderir ↓ Geçerli açılış ayrıntılarını gönderir
Örnek Telegram Mesajı
Telegram mesajı şöyle görünür: PC Açuldu Bilgisayar Adı: DEV2 Kullanıcı: HP-User1 Yerel IP: 192.168.0.5 Genel IP: xxx.xxx.xxx.xxx Tarih ve Saat: 2026-05-16 15:30:12 Açılış Zamanı: 2026-05-16 15:29:40 İşletim Sistemi: Windows 11 Sürüm: 10.0.xxxxx İşlemci: Intel64 Family... Mimari: AMD64 RAM: 15.78 GB Toplam
Önceki kapatma veya yeniden başlatma algılandığında, uygulama başka bir mesaj gönderir ve Windows Olay Günlüğünden ayrıntıları içerir.
Neden Oluşturdum
Asıl fikir basitti: Bana bilgisayarım açılır açmaz bir Telegram mesajı gönder.
Bu kısım kolaydı. Sonrasında kapatma uyarısı eklemek istedim. İlk olarak kapatma sırasında bir Telegram mesajı gönderdim. Çeşitli yaklaşımları denedim: Görev Zamanlayıcısı kapatma tetikleyicisi Grup İlkesi kapatma komut dosyası Gizli pencere kapatma algılaması WM_QUERYENDSESSION WM_ENDSESSION
Bazı yöntemler elle test edildiğinde çalıştı, ancak gerçek kapatma sırasında başarısız oldu. Nedeni: Windows, kapatma sırasında ağ hizmetlerini çok nhanh kapatıyor. Bu, uygulamanın kapatmayı algılayabileceği, ancak ağ kapanmadan önce Telegram mesajını gönderemeyeceği anlamına geliyor.
Yaklaşımı değiştirdim. Kapatma sırasında Telegram uyarısı gönderme girişiminden vazgeçtim, bunun yerine uygulamayı sonraki açılışta Windows Olay Günlüklerini okuyacak ve önceki kapatma/yeniden başlatma olayını raporlayacak şekilde ayarladım.
Bu, sistemi daha güvenilir hale getirdi.
Teknoloji Yığını
Bu proje: Python Telegram Bot API Windows Kayıt Defteri Windows Olay Günlükleri PyInstaller Inno Setup python-dotenv psutil requests
Python, temel mantığı işler. Telegram Bot API, mesajları gönderir. PyInstaller, Python betiğini bağımsız bir Windows çalıştırılabilir dosyasına dönüştürür. Inno Setup, kurulum programını oluşturur.
Telegram Bot Kurulumu
Telegram, hızlı uyarı sistemleri için harika bir seçenektir. Windows11Alert'i kullanmak için: TELEGRAM_BOT_TOKEN=buraya_telegram_bot_token_unu_gir TELEGRAM_CHAT_ID=buraya_telegram_sohbet_id_ni_gir
BotFather kullanarak bir Telegram botu oluşturabilirsiniz. Adımlar: Telegram'ı açın. BotFather'ı arayın. /newbot yazın. Botunuzu oluşturun. Bot tokenini kopyalayın. Botunuza bir mesaj gönderin. adresini açın. chat.id'nizi bulun.
Kimlik Bilgilerini .env İle Güvenceye Almak
Önemli bir şey yapmak istedim, bot tokenini Python dosyasına硬kodlamaktan kaçınmak. Gizli anahtarları硬kodlamak tehlikelidir, çünkü proje GitHub'a push edildiğinde token sızıntısı olabilir. Windows11Alert, bir .env dosyası kullanır: TELEGRAM_BOT_TOKEN=buraya_bot_tokenunuzu_girin TELEGRAM_CHAT_ID=buraya_sohbet_id_nizi_girin
Ve .env dosyası Git'ten hariç tutulur: .env build/ dist/ Output/ __pycache__/ *.spec
Bu, kimlik bilgilerini depodan uzak tutar. Tabii ki, .env mükemmel bir güvenlik değil, yerel makinede depolanan herhangi bir şey, yerel kullanıcı veya yönetici tarafından okunabilir. Ancak kaynak koduna gizli anahtarları hardcodlamaktan çok daha iyidir.
Otomatik Başlatma İçin Windows Kayıt Defteri
Uygulamayı Windows açılırsa otomatik olarak çalıştırmak için bu kayıt defteri yolunu kullandım: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
Python betiği, winreg modülünü kullanarak kendisini başlangıça ekler.
Bu, uygulamanın her Windows kullanıcı girişi yaptığında otomatik olarak çalışmasını sağlar.
Windows Olay Günlüklerinden Kapatma Olaylarını Okumak
Uygulama, Windows Sistem Olay Günlüklerinde kapatma ve yeniden başlatma olaylarını kontrol eder.
Bazı yararlı olay kimlikleri: 1074 - Kullanıcı veya süreç tarafından başlatılan planlı kapatma/yeniden başlatma 6006 - Olay Günlüğü hizmeti durduruldu, genellikle temiz kapatma 6008 - Beklenmedik kapatma
Canlı kapatma zamanında Telegram gönderme yerine, Windows11Alert bu olayları bilgisayarın yeniden açılmasından sonra kontrol eder.
Bu, kapatma/yeniden başlatma algılama işlemini daha güvenilir hale getirir.
Uygulamayı PyInstaller İle Paketleme
Python betiği hazır olduğunda, onu bir EXE'ye çevirdim. pyinstaller --onefile --noconsole --icon=icons/alert.ico --name Windows11Alert Windows11Alert.py
Bu, aşağıdaki dosyaları oluşturur: dist/Windows11Alert.exe
Ayrıca bir kaldırma yardımcı programu da oluşturdum: pyinstaller --onefile --noconsole --icon=icons/uninstaller.ico --name uninstaller uninstaller.py
Windows Kurulum Programını Inno Setup İle Oluşturma
EXE'yi oluşturduktan sonra, Inno Setup'i kullanarak bir Windows kurulum programı oluşturdum. Kurulum programı: Windows11Alert.exe'yi Program Dosyaları'na kopyalar Telegram Bot Token ve Sohbet ID'si için sorar Yerel olarak .env dosyasını oluşturur Uygulamayı Windows başlangıcına ekler Kısayollar oluşturur Kaldırma temizliğini gerçekleştirir
Bu, projenin gerçek bir Windows uygulaması gibi hissetmesini sağladı.
Geleceğe Dönük
Windows11Alert, küçük ama işlevsel bir proje. Gelecekte, daha fazla özellik eklenerek geliştirilebilir. Örneğin, farklı platformlarda çalışabilen bir sürüm veya daha fazla uyarı seçeneği eklenerek geliştirilebilir. Bu proje, küçük ve basit bir fikirle bile büyük bir fark yaratılabileceğini gösteriyor.
Yapay zeka özeti
Windows11Alert, bilgisayarınız açılır açmaz size Telegram bildirimi gönderen bir Windows aracı. Kolay kurulum ve kullanım.