Cara Membuat Chatbot Menggunakan Node.js

 Membuat WAchatbot tehniknya sama ,cogingnya nanti akan saya sertakan

asalamualaikum.....

pada kesempatan kali ini saya akan berbagi langkah-langkah membuat chatbot menggunakan node.js yang bisa di aplikasikan pada WAchatbot dengan langkah langkah dasar yang sederhana,chatbot ini nantinya akan di tanamkan technology Ai didalamnya dengan menggunakan configurasi Apikey openai.

chatgpt openai

ChatGpt bisa baca DISINI

Apa itu chatbot 

Chatbot adalah sebuah program komputer yang dapat melakukan interaksi dengan manusia melalui media teks atau suara. Chatbot dapat membantu Anda menyelesaikan tugas-tugas yang berulang, seperti menjawab pertanyaan pelanggan, membantu dalam proses pemesanan, dan banyak lagi. Node.js adalah platform yang sangat populer untuk membuat chatbot. Ini adalah platform open source yang memungkinkan Anda membuat aplikasi web dan chatbot dengan cepat dan mudah.

Untuk membuat chatbot menggunakan Node.js, Anda harus memiliki beberapa pengetahuan tentang bahasa pemrograman JavaScript. Anda juga harus memiliki pengetahuan tentang Node.js dan bagaimana cara menggunakannya. Setelah Anda memiliki pengetahuan yang cukup tentang Node.js, Anda dapat mulai membuat chatbot.

Berikut adalah langkah-langkah untuk membuat chatbot menggunakan Node.js:

1. Instal Node.js

Pertama, Anda harus menginstal Node.js di komputer Anda. Node.js adalah platform open source yang memungkinkan Anda membuat aplikasi web dan chatbot dengan cepat dan mudah. Anda dapat mengunduh Node.js dari situs web resmi Node.js. Setelah Anda mengunduh Node.js, Anda harus menginstalnya di komputer Anda.

2. Buat Proyek Node.js

Setelah Anda menginstal Node.js, Anda harus membuat proyek Node.js. Proyek ini akan berisi semua file yang Anda butuhkan untuk membuat chatbot. Anda dapat membuat proyek Node.js dengan menggunakan Node.js Command Line Interface (CLI).

3. Buat File JavaScript

Setelah Anda membuat proyek Node.js, Anda harus membuat file JavaScript. File JavaScript ini akan berisi kode yang akan Anda gunakan untuk membuat chatbot. Anda dapat membuat file JavaScript dengan menggunakan editor teks seperti Notepad atau Sublime Text.

4. Buat Skema Chatbot

Setelah Anda membuat file JavaScript, Anda harus membuat skema chatbot. Skema chatbot ini akan berisi kode yang akan Anda gunakan untuk membuat chatbot. Anda dapat membuat skema chatbot dengan menggunakan bahasa pemrograman JavaScript.

5. Buat Aplikasi Node.js

Setelah Anda membuat skema chatbot, Anda harus membuat aplikasi Node.js. Aplikasi Node.js ini akan berisi semua kode yang Anda gunakan untuk membuat chatbot. Anda dapat membuat aplikasi Node.js dengan menggunakan Node.js Command Line Interface (CLI).

6. Uji Chatbot

Setelah Anda membuat aplikasi Node.js, Anda harus menguji chatbot. Anda dapat menguji chatbot dengan menggunakan Node.js Command Line Interface (CLI). Anda juga dapat menguji chatbot dengan menggunakan platform seperti Facebook Messenger atau Telegram.

7. Publikasikan Chatbot

Setelah Anda menguji chatbot, Anda harus mempublikasikannya. Anda dapat mempublikasikan chatbot dengan menggunakan platform seperti Facebook Messenger atau Telegram. Anda juga dapat mempublikasikan chatbot di situs web Anda.

Itulah cara membuat chatbot menggunakan Node.js. Node.js adalah platform yang sangat populer untuk membuat chatbot. Ini adalah platform open source yang memungkinkan Anda membuat aplikasi web dan chatbot dengan cepat dan mudah. Dengan mengikuti langkah-langkah di atas, Anda dapat dengan mudah membuat chatbot menggunakan Node.js.

contoh coding node.js dengan configurasi openAi

const express = require('express');

const bodyParser = require('body-parser');

const OpenAi = require('openai');


const app = express();


// configurasi openai

const openai = new OpenAi({

    apiKey: '<your_openai_api_key>',

    version: 'v1'

});


// parse application/x-www-form-urlencoded

app.use(bodyParser.urlencoded({ extended: false }))


// parse application/json

app.use(bodyParser.json())


// endpoint untuk chatbot

app.post('/chatbot', (req, res) => {

    const { text } = req.body;


    openai.query({

        engine: 'davinci',

        query: text

    }, (err, response) => {

        if (err) {

            console.log(err);

            return res.status(400).json({

                status: 'error',

                message: err

            });

        }


        return res.status(200).json({

            status: 'success',

            message: response.data.choices[0].text

        });

    });

});


// jalankan server

app.listen(3000, () => {

    console.log('Server running on port 3000');

});


untuk menjalankan codingnya bisa menambahkan  kode berikut

  const http = require('http');

http.createServer(function (req, res) {

  res.writeHead(200, {'Content-Type': 'text/plain'});

  res.end('Hello World\n');

}).listen(8080);


console.log('Server running at http://localhost:8080/');


atau kamu bisa juga mengkloning kode orang lain yang sudah ber jalan,kemudian kamu tinggal merubah Api key openAi nya . kode di bawah ini sudah bisa dijalankan kamu bisa kloning kode tersebut jika ingin mencobanya

1- save file dengan nama package.json

 

  "name": "wabot-chatgpt",

  "version": "1.0.0",

  "description": "",

  "main": "dayyan.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1",

    "start": "node dayyan.js"

  },

  "keywords": [],

  "author": "",

  "license": "ISC",

  "dependencies": {

    "@adiwajshing/baileys": "^4.4.0",

    "openai": "^3.1.0",

    "qrcode-terminal": "^0.12.0"

  }

}

2- save file dengan nama ' Dayyan.js'


// Menampahkan Dependencies

const {

    default: makeWASocket,

    DisconnectReason,

    useSingleFileAuthState

} = require("@adiwajshing/baileys");

const { Boom } = require("@hapi/boom");

const { state, saveState } = useSingleFileAuthState("./login.json");


//Bagian Koding ChatGPT

const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({

    apiKey: 'ISI DENGAN API KEY KAMU',

});

const openai = new OpenAIApi(configuration);


//Fungsi OpenAI ChatGPT untuk Mendapatkan Respon

async function generateResponse(text) {

    const response = await openai.createCompletion({

        model: "text-davinci-003",

        prompt: text,

        temperature: 0.3,

        max_tokens: 2000,

        top_p: 1.0,

        frequency_penalty: 0.0,

        presence_penalty: 0.0,

    });

    return response.data.choices[0].text;

}


// Fungsi Utama Sharon WA Bot

async function connectToWhatsApp() {


    //Buat sebuah koneksi baru ke WhatsApp

    const sock = makeWASocket({

        auth: state,

        printQRInTerminal: true,

        defaultQuertTimeoutMs: undefined

    });


    //Fungsi untuk Mantau Koneksi Update

    sock.ev.on("connection.update", (update) => {

        const { connection, lastDisconnect } = update;

        if (connection === "close") {

            const shouldReconnect = (lastDisconnect.error = Boom)?.output?.statusCode !== DisconnectReason.loggedOut;

            console.log("Koneksi terputus karena ", lastDisconnect.error, ", hubugkan kembali!", shouldReconnect);

            if (shouldReconnect) {

                connectToWhatsApp();

            }

        }

        else if (connection === "open") {

            console.log("Koneksi tersambung!")

        }

    });

    sock.ev.on("creds.update", saveState);


    //Fungsi Untuk Mantau Pesan Masuk

    sock.ev.on("messages.upsert", async ({ messages, type }) => {

        console.log("Tipe Pesan: ", type);

        console.log(messages);

        if (type === "notify" && !messages[0].key.fromMe) {

            try {


                //Dapatkan nomer pengirim dan isi pesan

                const senderNumber = messages[0].key.remoteJid;

                let incomingMessages = messages[0].message.conversation;

                if (incomingMessages === "") {

                    incomingMessages = messages[0].message.extendedTextMessage.text;

                }

                incomingMessages = incomingMessages.toLowerCase();


                //Dapatkan Info Pesan dari Grup atau Bukan 

                //Dan Pesan Menyebut bot atau Tidak

                const isMessageFromGroup = senderNumber.includes("@g.us");

                const isMessageMentionBot = incomingMessages.includes("@6282126083338");


                //Tampilkan nomer pengirim dan isi pesan

                console.log("Nomer Pengirim:", senderNumber);

                console.log("Isi Pesan:", incomingMessages);


                //Tampilkan Status Pesan dari Grup atau Bukan

                //Tampilkan Status Pesan Mengebut Bot atau Tidak

                console.log("Apakah Pesan dari Grup? ", isMessageFromGroup);

                console.log("Apakah Pesan Menyebut Bot? ", isMessageMentionBot);


                //Kalo misalkan nanya langsung ke Bot / JAPRI

                if (!isMessageFromGroup) {


                    //Jika ada yang mengirim pesan mengandung kata 'siapa'

                    if (incomingMessages.includes('siapa') && incomingMessages.includes('kamu')) {

                        await sock.sendMessage(

                            senderNumber,

                            { text: "Saya Dayyan!" },

                            { quoted: messages[0] },

                            2000

                        );

                    } else {

                        async function main() {

                            const result = await generateResponse(incomingMessages);

                            console.log(result);

                            await sock.sendMessage(

                                senderNumber,

                                { text: result + "\n\n" },

                                { quoted: messages[0] },

                                2000

                            );

                        }

                        main();

                    }

                }


                //Kalo misalkan nanya via Group

                if (isMessageFromGroup && isMessageMentionBot) {

                    //Jika ada yang mengirim pesan mengandung kata 'siapa'

                    if (incomingMessages.includes('siapa') && incomingMessages.includes('kamu')) {

                        await sock.sendMessage(

                            senderNumber,

                            { text: "Saya Dayyan!" },

                            { quoted: messages[0] },

                            2000

                        );

                    } else {

                        async function main() {

                            const result = await generateResponse(incomingMessages);

                            console.log(result);

                            await sock.sendMessage(

                                senderNumber,

                                { text: result + "\n\n" },

                                { quoted: messages[0] },

                                2000

                            );

                        }

                        main();

                    }

                }




            } catch (error) {

                console.log(error);

            }

        }

    });


}


connectToWhatsApp().catch((err) => {

    console.log("Ada Error: " + err);

});

kemudian taruk dalam sebuah folder ,save dengan nama  wabot-chatGPT .untuk menginstall modulnya kamu harus install aplikasi Node.js dan Gitbash terlebih dahulu. jika kedua aplikasi tersebut sudah terinstall dengan baik kemudia install modulnya menggunakan Gitbash

cara installnya cukup dengan klik kanan pada folder lalu pilih Gitbash maka secara otomatis foldernya terbuka di aplikasi Gitbashnya. 

setelah berada di aplikasi Gitbash  silahkan ketik  'dir' lalu enter untuk mengecek filenya ,jika filenya sudah terbaca demuanya  lanjutkan dengan mengetik 'npm install' lalu enter lagi..maka proses penginstallan modulnya akan berjalan  dan tunggu prosesnya sampai selesai,jika sudah selesai  lihat laporan nya  jika ada rekomendasi /tulisan 'npm fund' maka ikuti saja  ketik lagi 'npm fund' lalu enter..

dengan proses diatas seharusnya codingnya sudah  bisa jalan. dan untuk menjalankannya  silahkan ketik 'node Dayyan.js' jika tidak ada error  maka akan muncul barkode . lalu silahkan scan barkode tersebut menggunakan aplikasi whatsapp kalian.. maka chatbot WA kalian sudah dapat di gunakan.. namun jika ada error kalian bisa perbaiki dengan aplikasi Node.js aplikasi ini  fungsinya membaca coding dan edit coding.

oke selamat mencoba jika kalian tidak mau ruwet dengan coding di atas bisa download  di internet..silahkan cari github dot com..semoga postingan ini dapat menambah pengetahuan kalian semua aminnn..sampai jumpa di postingan selanjutnya..wassalammmm

Tidak ada komentar :

Posting Komentar

Leave A Comment...