Bu makalede, kendi geliştirdiğim whatsapp.ts kütüphanesini kullanarak WhatsApp Webe 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.
Bu kütüphane WhatsApp bağlantısını direkt socket üzerinden yapmaktadır arkada browser çalıştırmıyor bu sayede kaynak tüketimi çok düşük oluyor. Projeyi desteklemek için GitHub sayfasından star atabilirsiniz.
Kurulum ve Başlangıç
İlk adım olarak, npm komutunu kullanarak whatsapp.ts kütüphanesini kurmalıyız:
npm install whatsapp.tsKü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ıtlamaGelen 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 İşlemewhatsapp.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('905301112233@c.us', '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 WhatsApptan 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();
});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
Detaylı bilgi: https://umitbilgin.com/nodejs-ile-wh...tu-gelistirme/
Aklınıza takılan herhangi bir şeyi sorabilirsiniz konu altında cevaplamaya çalışacağım.