Merhaba,

Bu makalede, kendi geliştirdiğim whatsapp.ts kütüphanesini kullanarak WhatsApp Web‘e kolayca nasıl bağlanabileceğinizi, Node.js üzerinden mesajları nasıl dinleyip yanıtlayabileceğinizi anlatacağım. Bu kütüphane sayesinde Node.js ile kendi WhatsApp botunuzu kolayca kodlayabilirsiniz.

Kurulum ve Başlangıç

İlk adım olarak, npm komutunu kullanarak whatsapp.ts kütüphanesini kurmalıyız:

npm install whatsapp.ts

Kütüphaneyi projemize dahil ettikten sonra WhatsAppAPI sınıfını kullanarak yeni bir örnek oluşturuyoruz:

const { WhatsAppAPI } = require('whatsapp.ts');

const wp = new WhatsAppAPI({
  deviceName: 'WhatsApp.ts',
  sessionPath: './wp-session',
});

deviceName parametresi, WhatsApp uygulamasında görünecek cihaz isminizi belirtir.
sessionPath parametresi ise oturum bilgilerinin saklanacağı dosya yolunu tanımlamanıza olanak tanır.

QR Kod İle Oturum Açma

wp.on(‘qr’, callback) eventini kullanarak, oturum açmak için gerekli QR kodunu elde edebilirsiniz. qrcode-terminal kütüphanesini kullanarak bu QR kodunu terminal üzerinde gösterip, telefonunuzdan tarama işlemini gerçekleştirebilirsiniz:

const qrcode = require('qrcode-terminal');

wp.on('qr', (qr) => {
  qrcode.generate(qr, { small: true });
});

Mesaj Olayları ve Yanıtlama

Gelen mesajları message eventi ile dinleyebilir ve message.reply fonksiyonu ile hızlıca yanıtlayabilirsiniz:

wp.on('message', (message) => {
  if (message.body.toLowerCase().includes('merhaba')) {
    message.reply('Merhaba! Size nasıl yardımcı olabilirim?');
  }
});

Komut Dinleme ve İşleme

whatsapp.ts kütüphanesi, komutları /komut eventiyle dinlemenize imkan tanır. Örneğin, /start komutunu aşağıdaki gibi dinleyebilir ve yanıt verebilirsiniz:

wp.on('/start', (message) => {
  message.reply('Botumuzu başlattınız, hoş geldiniz!');
});

Bu kod parçası sayesinde, kullanıcı /start yazdığında otomatik olarak belirlediğiniz yanıtı alacaktır.

Direkt Numaraya Mesaj Gönderme

Botumuzun belirli bir numaraya doğrudan mesaj göndermesini sağlamak için wp.sendText(to, message) fonksiyonunu kullanabiliriz. Bu fonksiyon, belirli bir telefon numarasına anında mesaj yollamanıza olanak tanır. Kullanımı şöyledir:

wp.sendText('[email protected]', 'Merhaba!');

Burada dikkat etmeniz gereken, mesaj gönderilecek telefon numarasını uluslararası formatta, ülke koduyla birlikte girmeniz ve sonuna @c.us eklemenizdir. Bu, WhatsApp‘ın numarayı tanıması için gereklidir.

Bu özellik sayesinde, kullanıcıların önceden tanımlı bir liste üzerinden değil, doğrudan belirli bir numaraya mesaj atmasını sağlayarak botunuzun kullanım alanlarını genişletebilirsiniz.

Bağlantı Kesilme ve Yeniden Başlatma

disconnect eventi ile WhatsApp’tan bağlantının kesilmesi durumunda uygulamayı sonlandırabilir veya otomatik olarak yeniden bağlanmayı deneyebilirsiniz:

wp.on('disconnect', (reason) => {
  console.log('Bağlantı kesildi, yeniden bağlanılıyor:', reason);
  wp.initialize();
});

Sonuç

whatsapp.ts kütüphanesini kullanarak botunuzun temellerini bu adımlarla atabilirsiniz. Bu temel üzerine botunuzu geliştirebilir, kullanıcılarınızla etkileşim kurabilir ve iş akışlarınızı otomatize edebilirsiniz.

whatsapp.ts kütüphanesinin gelişimine katkıda bulunmak isterseniz veya en güncel bilgilere ulaşmak istiyorsanız, projenin GitHub sayfasını ziyaret edebilirsiniz.

https://github.com/umitbilgin/whatsapp.ts