Cara Membuat Bot Whatsapp Dengan Python dan Chat-API 2022
Cara Membuat Bot Whatsapp Dengan Python dan Chat-API 2022
Cara Membuat Bot WA Menggunakan Python
1. Koneksikan Akun Whatsapp dengan Chat-API
- Silahkan sobat membuat akun baru di web Chat-API
- Jika sudah otomatis website bakal memberikan QR Code untuk akun sobat
- Lalu, lakukan scan QR Code dengan cara Settings => WhatsApp Web => Scan the QR code
2. Membuat Perintah Bot Whatsapp File Python
import jsonimport requestsimport datetime
class WABot():def __init__(self, json):self.json = jsonself.dict_messages = json['messages']self.APIUrl = 'https://eu41.chat-api.com/instance12345/'self.token = 'abcdefg'
Untuk melihat tampilan JSON yang diterima, Anda dapat masuk ke bagian Pengujian yang mudah digunakan , yang tersedia di kabinet Anda. Anda juga dapat menguji permintaan WebHook di dalamnya.
Di bagian ini, kami menetapkan nilai ke atribut kelas. Dict_messages – Kamus yang berisi informasi dari pesan dalam file JSON yang telah kami terima.
self.json = json
self.dict_messages = json['messages']
Anda dapat melihat struktur JSON di bagian pengujian item "Periksa WebHook". Diperlukan untuk menjalankan pemeriksaan dan mengirim pesan ke obrolan WhatsApp Anda. Anda akan melihat JSON dikirim ke WebHook di layar.
self.APIUrl = 'https://eu41.chat-api.com/instance12345/'
self.token = 'abcdefg'
Anda harus mengirimkan APIUrl dan data token Anda, dan sobat akan menggunakan untuk membuat permintaan ke API.
3. Mendapatkan Fungsi Bot WA
Kemudian untuk sobat bisa mendapatkan service-api, sobat wajib mengirim request. Fungsi dari send-request bakal menerima 2 parameter yaitu method dan data.
- Method ini berisikan jenis method dengan fungsi (GET/POST), sedangkan
- Data berisikan informasi pesan yang berbentuk format JSON.
Mengirim permintaan
Dengan fungsi send_request ini pasti akan me-return informasi chat WA. Karena perlu mengirim permintaan ke API untuk menyelesaikan sesuatu. Sobat membuat fungsi untuk menghasilkan permintaan dan mengirimkannya tergantung pada parameter yang kita miliki. Silakan merujuk ke dokumentasi
def send_requests(self, method, data):
url = f"{self.APIUrl}{method}?token={self.token}"
headers = {'Content-type': 'application/json'}
answer = requests.post(url, data=json.dumps(data), headers=headers)
return answer.json()
Pada tahap ini, kita akan membuat string permintaan ke API.
url = f"{self.APIUrl}{method}?token={self.token}"
Kemudian kita harus mendefinisikan header Content-Type dan menandainya sebagai Application/JSON karena kita akan selalu mengirimkan data kita dalam format JSON.
headers = {'Content-type': 'application/json'}
Sekarang kami membuat permintaan lengkap dengan request.post dan mengunggah data kami ke server API. Json.dump(data) – ini membuat kamus data kita bersambung ke dalam format JSON.
answer = requests.post(url, data=json.dumps(data), headers=headers)
return answer.json()
Ini mengembalikan fungsi respons server dalam format JSON.
Mengirim pesan
def send_message(self, chatID, text):data = {"chatID" : chatID,"body" : text}answer = self.send_requests('sendMessage', data)return answer
Sobat sedang membuat kamus data (dictionary), yang berisikan “chatId” — ID, ke mana pesan dan dataset 'body' dengan teks yang akan perlukan untuk dikirim.
data = {"chatId" : chatId,
"body" : text}
Selanjutnya, kita akan mengirim data kita ke metode yang kita tulis di langkah sebelumnya.
answer = self.send_requests('sendMessage', data)
return answer
Untuk mengirim pesan ke Chat API digunakan metode “sendMessage”, jadi kami mengirimkannya ke fungsi sebagai parameter serta kamus data kami. Dan kemudian kami mengembalikan respons server.
Selamat datang
Metode selamat datang akan dipanggil dengan perintah "hi" dari bot serta dengan memasukkan perintah yang tidak ada.
chatId – ID obrolan tempat pesan harus dikirim. noWelcome – Variabel tipe Boolean yang menentukan teks yang akan dikirim ke obrolan: daftar selamat datang atau perintah. Ini adalah False secara default.
Dengan membuat welcome messages sebagai pesan pembuka untuk setiap pengguna yang masuk. Contohnya ketika menawarkan barang atau produk yang memberikan informasi jelas.
def welcome(self,chatID, noWelcome = False):
welcome_string = ''
if (noWelcome == False):
welcome_string = "Selamat Datang Di Toko ABC \n"
else:
welcome_string = """Perintah tidak dikenali
Commands:
1. brosur [format] - Dapatkan Produk, format yang tersedia: doc/jpg/png/pdf
2. alamat- Tampilkan alamat toko anda
return self.send_message(chatID, welcome_string)
Auto-Reply
Selanjutnya, buat auto-reply untuk alamat dan informasi lainnya yang sesuai dengan toko anda
def alamat(self, chatID):
data = {
"lat" : '51.51916',
"lng" : '-0.139214',
"address" :'Toko ABC \nJalan Plamongan Indah Blok E2 No 17',
"chatId" : chatID
}
answer = self.send_requests('sendLocation', data)
return answer
Proses Pesan Masuk
Kemudian yang terakhir adalah dengan membuat fungsi untuk memproses pesan yang masuk dari user
def processing(self):
if self.dict_messages != []:
for message in self.dict_messages:
text = message['body'].split()
if not message['fromMe']:
id = message['chatId']
if text[0].lower() == 'brosur':
return self.brosur(id, text[1])
elif text[0].lower() == 'geo':
return self.alamat(id)
else:
return self.welcome(id, True)
else: return 'Perintah Tidak Valid'
Supaya berjalan dengan baik dan benar, silahkan sobat sekalian mengganti token dengan token yang dari akun kalian dengan menklik disini Token Chat API
4. Membuat Server Database
Selanjutnya adalah untuk cara membuat bot whatsapp adalah dengan membuat server. Dalam hal ini, sobat bakalan menggunakan framework Flask. Silahkan buat app.py dan kemudian tuliskan kode script berikut dibawah:
from flask import Flask, request, jsonify
from wabot import WABot
import json
app = Flask(name)
@app.route('/', methods=['POST'])
def home():
if request.method == 'POST':
bot = WABot(request.json)
return bot.processing()
if(name) == 'main':
app.run()
Akhir Kata
Nah telah selesai Cara Membuat Bot Whatsapp Dengan Python dan Chat-API 2022 dan siap digunakan. Sobat digifycloud cukup upload source code ini ke hosting milik kalian dengan menamai domain kamu dengan nama webhook.
Semoga tutorial cara membuat Bot WA Dengan Python dan Chat-API bermanfaat untuk kita semua. Jika seadainya ingin melakukan hal yang lebih baik silahkan mengakses kode sumber lengkap dengan mengklik tautan ke GitHub whatsapp-python-bot