Whatsapp BC
Februari 05, 2023 • •
Automating whatsapp sending can save a lot of time and effort, especially if you have a list of customers or clients that you need to contact regularly. Using Python, we can create a script that will send whatsapp to a list of customers stored in an Excel file, so each mobile number will be sent individually. This article will guide you step by step on how to create such a script using the pandas library to read data from Excel and smtplib to send emails.
Setting Up the Environment
- Install Python: If not already installed, download and install Python from the official website.
- Install Required Libraries: Run the following command in the terminal or command prompt to install
pandasandopenpyxl:pip install pandas pywhatkit
Excel File Format
Ensure your Excel file has the correct format. A suggested format is as follows:
| Title | Name | Mobile Number |
|---|---|---|
| Mr | John Doe | +6281234567890 |
| Ms | Jane Smith | +6281234567890 |
| Mr | Bob Johnson | +6281234567890 |
Python Script to Send Emails
Create a new Python file, for example, send_emails.py, and add the following code:
import pandas as pd
import pywhatkit as kit
import time
# Membaca data dari file Excel
excel_file = 'customer_numbers.xlsx' # Ganti dengan nama file Excel Anda
data = pd.read_excel(excel_file)
# Pastikan kolom "Mobile number" adalah string
data['Mobile number'] = data['Mobile number'].astype(str)
# Template pesan
message_template = '''
Yth. {title} {name},
Kami dari [Nama Perusahaan] ingin memperkenalkan produk terbaru kami kepada Anda. [Deskripsi Produk].
Salam hormat,
[Nama Anda]
'''
# Mengirim pesan WhatsApp ke setiap pelanggan
for index, row in data.iterrows():
mobile_number = row['Mobile number'] # Ganti 'Mobile number' dengan nama kolom yang sesuai di file Excel Anda
title = row['Title'] # Ganti 'Title' dengan nama kolom yang sesuai di file Excel Anda
name = row['Name'] # Ganti 'Name' dengan nama kolom yang sesuai di file Excel Anda
message = message_template.format(title=title, name=name)
# Validasi nomor telepon
if not mobile_number.startswith('+'):
mobile_number = '+' + mobile_number
# Mengirim pesan WhatsApp
try:
kit.sendwhatmsg_instantly(mobile_number, message, 15, True, 2)
print(f"Pesan terkirim ke {mobile_number}")
time.sleep(10) # Jeda waktu antar pesan (10 detik)
except Exception as e:
print(f"Failed to send message to {mobile_number}: {e}")
print("Semua pesan telah terkirim.")
python send_whatsapp.py