Gereksinimler ve Ortam Kurulumu
Pywhatkit kütüphanesini kullanmaya başlamadan önce sisteminizde Python 3.x sürümünün yüklü olması gerekmektedir. Ayrıca, kütüphanenin tarayıcıyı kontrol edebilmesi için bir web tarayıcınızın (tercihen Google Chrome) yüklü olması şarttır. Kurulum işlemleri için terminal veya komut satırınızı kullanabilirsiniz.
Öncelikle gerekli olan kütüphaneyi paket yöneticisi olan pip aracılığıyla sisteminize dahil edelim:
pip install pywhatkit
Kurulum tamamlandıktan sonra, Python ortamınızda kütüphanenin yüklü olup olmadığını kontrol etmek için basit bir import denemesi yapabilirsiniz. Eğer bir hata almazsanız, bir sonraki aşamaya geçmeye hazırsınız demektir.
Pywhatkit ile İlk Mesaj Gönderimi
Pywhatkit'in temel işlevi, belirli bir telefon numarasına, belirtilen saat ve dakikada mesaj göndermektir. Bu işlem, WhatsApp Web arayüzünü kullanarak gerçekleştirilir. İlk kod örneğimizde, anlık bir mesaj gönderiminin nasıl yapıldığını inceleyelim.
import pywhatkit
# Telefon numarası başında ülke kodu ile girilmelidir (+90...)
telefon_no = "+905XXXXXXXXXX"
mesaj = "Merhaba, bu bir Python otomasyon testidir."
# Zaman ayarlı mesaj gönderimi (Saat: 14, Dakika: 30)
pywhatkit.sendwhatmsg(telefon_no, mesaj, 14, 30)
Yukarıdaki kod bloğunda sendwhatmsg fonksiyonu, WhatsApp Web'i açar, belirtilen numaraya mesajı yazar ve gönder tuşuna basar. Dikkat etmeniz gereken en önemli nokta, fonksiyonun çalışması için tarayıcıda WhatsApp Web oturumunuzun açık olması gerektiğidir.
Zaman Ayarlı Mesajlarda Dikkat Edilmesi Gerekenler
Zaman ayarlı gönderimlerde en büyük hata, fonksiyonun çalıştırılma saati ile gönderim saati arasındaki sürenin çok kısa tutulmasıdır. Pywhatkit, mesajı göndermeden önce tarayıcıyı hazırlamak için belirli bir süreye ihtiyaç duyar.
Eğer fonksiyonu çalıştırdığınız an ile hedeflediğiniz saat arasında 15-20 saniyeden az zaman kalmışsa, kütüphane hata verebilir veya işlemi gerçekleştiremeyebilir. Bu nedenle, zaman parametrelerini her zaman mevcut saatten en az 2 dakika ileriye ayarlamanız önerilir.
import datetime
import pywhatkit
# Şu anki zamanı al
simdi = datetime.datetime.now()
hedef_saat = simdi.hour
hedef_dakika = simdi.minute + 2
# Hata payı bırakarak mesajı gönder
pywhatkit.sendwhatmsg("+905XXXXXXXXXX", "Test mesajı gönderiliyor...", hedef_saat, hedef_dakika)
Grup Mesajı Gönderimi ve İleri Düzey Kullanım
Bireysel mesajların yanı sıra, Pywhatkit ile belirli bir WhatsApp grubuna da mesaj gönderebilirsiniz. Bunun için grup ID'sine ihtiyacınız vardır. Grup ID'sini, WhatsApp Web'de grup sohbetine girdiğinizde tarayıcı adres çubuğunda yer alan "group_id" kısmından öğrenebilirsiniz.
# Grup ID'si, URL'deki 'g=' kısmından sonra gelen değerdir
grup_id = "ABCDEFGHIJ1234567890"
pywhatkit.sendwhatmsg_to_group(grup_id, "Herkese merhaba, toplantı saati yaklaşıyor!", 15, 0)
Bu yöntem, özellikle ekip içi bilgilendirmeler veya hatırlatıcı botlar oluşturmak için oldukça etkilidir. Ancak, grup ID'lerinin zaman zaman değişebileceğini veya gizlilik ayarları nedeniyle erişim kısıtlamaları olabileceğini unutmamalısınız.
Otomasyon Yöntemlerinin Karşılaştırılması
Aşağıdaki tablo, Pywhatkit ve alternatif otomasyon yöntemleri arasındaki temel farkları özetlemektedir:
| Yöntem | Avantajları | Dezavantajları |
|---|---|---|
| Pywhatkit | Hızlı kurulum, ücretsiz, basit sözdizimi | Tarayıcı bağımlı, GUI gerektirir |
| WhatsApp Cloud API | Profesyonel, ölçeklenebilir, resmi | Kurulumu karmaşık, ücretli olabilir |
| Selenium/Playwright | Tam kontrol, özelleştirilebilir | Yüksek bakım maliyeti, teknik uzmanlık gerektirir |
Güvenlik ve Etik Uyarılar
Kritik Güvenlik Uyarısı: Pywhatkit gibi tarayıcı otomasyon araçlarını kullanırken kişisel verilerinizi korumaya özen gösterin. Asla başkalarının rızası olmadan mesaj göndermeyin. Spam içerikli mesajlar WhatsApp tarafından hesabınızın yasaklanmasına neden olabilir. Ayrıca, kodlarınızda telefon numarası gibi hassas bilgileri doğrudan metin dosyalarında saklamayın; bunun yerine çevre değişkenlerini (environment variables) kullanın.
Kodunuzu üretim ortamına taşımadan önce mutlaka yerel ortamda kapsamlı testler yapın. Kullanıcı gizliliğine saygı duymak, geliştiricilerin en temel sorumluluğudur.
Sıkça Sorulan Sorular
Pywhatkit neden tarayıcıyı açmıyor?
Bu durum genellikle Google Chrome'un varsayılan tarayıcı olarak ayarlanmamış olmasından veya WhatsApp Web oturumunun açık olmamasından kaynaklanır. Tarayıcınızın güncel olduğundan emin olun.
Mesaj gönderildikten sonra tarayıcıyı nasıl kapatırım?
Pywhatkit, varsayılan olarak mesajı gönderdikten sonra tarayıcıyı açık bırakır. tab_close=True parametresini fonksiyonunuza ekleyerek sekmenin otomatik kapanmasını sağlayabilirsiniz.
Aynı anda birden fazla kişiye mesaj atabilir miyim?
Pywhatkit tek seferde tek bir işlem yapar. Birden fazla kişiye mesaj atmak için bir liste üzerinde döngü (loop) kurmanız gerekir; ancak WhatsApp'ın "spam" koruma sistemine takılmamak için gönderimler arasına time.sleep() ile bekleme süresi eklemelisiniz.
Telefon numarası formatı nasıl olmalı?
Numarayı her zaman uluslararası formatta, başında '+' işareti ve ülke kodu olacak şekilde (örneğin: +905XXXXXXXXXX) yazmalısınız.
Bu kütüphane ücretli mi?
Pywhatkit tamamen açık kaynaklı ve ücretsiz bir kütüphanedir. Ticari projelerde kullanmadan önce lisans koşullarını gözden geçirmenizi öneririm.
Pywhatkit ile Gelişmiş Hata Ayıklama ve Loglama Stratejileri
Pywhatkit kütüphanesi, WhatsApp Web arayüzü üzerinden işlem yaptığı için internet hızı, tarayıcı performansı veya WhatsApp'ın anlık güncellemeleri gibi dış faktörlerden doğrudan etkilenir. Otomasyonunuzun kararlı çalışması için standart hata yakalama bloklarının ötesine geçerek bir loglama mekanizması kurmanız kritik öneme sahiptir.
Aşağıdaki örnek, mesaj gönderim sürecini bir try-except bloğu ile sarmalayarak hataları bir dosyaya kaydetmenizi sağlar:
import pywhatkit
import logging
from datetime import datetime
# Loglama ayarları
logging.basicConfig(filename='mesaj_hatalari.log', level=logging.ERROR)
def guvenli_mesaj_gonder(tel_no, mesaj, saat, dakika):
try:
pywhatkit.sendwhatmsg(tel_no, mesaj, saat, dakika)
print(f"Mesaj başarıyla gönderildi: {tel_no}")
except Exception as e:
hata_mesaji = f"{datetime.now()} - Hata: {str(e)}"
logging.error(hata_mesaji)
print("Bir hata oluştu, log dosyasına bakınız.")
# Kullanım
guvenli_mesaj_gonder("+905XXXXXXXXXX", "Merhaba, bu bir test mesajıdır.", 14, 30)
Otomasyonu Sunucuya Taşıma (Deployment) ve Süreklilik
Pywhatkit, görsel bir tarayıcı (GUI) gerektirdiği için bu kütüphaneyi doğrudan bir sunucuda (headless server) çalıştırmak zordur. Eğer botunuzun 7/24 çalışmasını istiyorsanız, yerel bilgisayarınızda bir "Headless" olmayan ortam kurmanız veya sanal masaüstü çözümlerine yönelmeniz gerekir.
Sürekliliği Sağlamak İçin İpuçları:
- Ekran Kilidi: Botun çalışması için bilgisayarın ekranının açık ve kilitli olmaması gerekir. "Caffeine" gibi uygulamalar kullanarak ekranın uyku moduna geçmesini engelleyebilirsiniz.
- Tarayıcı Profili: Chrome profilinizi Pywhatkit'e tanıtarak her seferinde QR kod okutma zahmetinden kurtulabilirsiniz.
- Zamanlayıcılar: Windows için
Görev Zamanlayıcı (Task Scheduler)veya Linux içinCronkullanarak Python scriptinizi belirli aralıklarla tetikleyebilirsiniz.
Eğer çok daha profesyonel ve sunucu tabanlı bir çözüm arıyorsanız, Pywhatkit yerine Selenium veya Playwright kütüphanelerini kullanarak WhatsApp Web'i tamamen arka planda (headless) yöneten daha karmaşık otomasyonlar geliştirebilirsiniz. Ancak, bu yöntemler Pywhatkit'e göre çok daha yüksek teknik bilgi ve bakım gerektirir.
Not: WhatsApp'ın kullanım koşullarını ihlal etmemek adına, toplu mesaj gönderimlerinde (spam) hesap kısıtlaması alabileceğinizi unutmayın. Otomasyonlarınızı her zaman insani hızlarda ve sınırlı sayıda kişiyle test edin.
Sonuç
Python ile Pywhatkit kullanarak zaman ayarlı mesaj göndermek, otomasyon dünyasına giriş yapmak isteyenler için harika bir başlangıç projesidir. Bu rehberde, kütüphanenin kurulumundan grup mesajlarına kadar temel tüm adımları öğrendiniz. Bir sonraki adım olarak, bu otomasyonu bir veritabanı (SQLite gibi) ile birleştirerek, belirli tarihlerde otomatik olarak çalışan bir "Hatırlatıcı Bot" geliştirmeyi deneyebilirsiniz. Yazılım geliştirme sürecinde her zaman temiz kod yazmaya ve güvenlik standartlarına uymaya devam edin.


Yorumlar (0)
Yorum Yaz