shape shape
logo

FHY-Bot

Ayo Mulai

Dokumentasi profesional untuk pemasangan dan penggunaan WhatsApp Bot.

Dokumentasi

FHY-Bot bertindak sebagai jembatan komunikasi antara platform pesan WhatsApp Anda. Ia mendengarkan pesan atau event yang diterima dari pengguna dan memungkinkan merespons sesuai dengan bot auto-reply yang telah Anda tetapkan.


Penginstalan

Untuk memulai menggunakan fhy-bot, ikuti langkah-langkah di bawah ini.

Prasyarat

Langkah-langkah Instalasi

  1. Clone repositori ke dalam direktori lokal Anda:
git clone https://github.com/fitri-hy/fhy-bot.git
  1. Masuk ke dalam direktori proyek:
cd fhy-bot
  1. Install dependensi:
npm install
  1. Jalankan proyek:
npm start
  1. Clone repositori ke dalam direktori lokal Anda:
git clone https://github.com/fitri-hy/fhy-bot.git
  1. Masuk ke dalam direktori proyek:
cd fhy-bot
  1. Unduh folder node_modules yang telah disiapkan:

Di Termux, Anda tidak perlu menjalankan npm install. Anda dapat langsung mengunduh folder node_modules yang telah disiapkan untuk menghindari kesalahan dengan menggunakan perintah berikut:

curl -L -o node_modules.tar.gz https://fhy-bot-website.vercel.app/termux/node_modules.tar.gz
tar -xvzf node_modules.tar.gz
  1. Jalankan proyek:
npm start

Plugin

Anda dapat membuat, mengubah, dan menghapus plugin tanpa perlu melakukan modifikasi pada kode inti proyek Anda.

Aturan wajib yang harus Anda ikuti.

module.exports = async (sock, message, msg, sender) => {
  // Implementasikan logika untuk plugin Anda di sini.
};

Membuat Plugin dalam Proyek

  1. Arahkan ke dalam folder plugin/ dan buat sebuah file plugin dengan ekstensi .js.
  2. Implementasikan fungsi plugin Anda pada file tersebut. Berikut adalah contoh dasar implementasinya:
    // example.js
    module.exports = async (sock, message, msg, sender) => {
      if (msg && msg.toLowerCase() === '.test') {
        await sock.sendMessage(sender, { text: 'Ini adalah respons untuk perintah test' });
      }
    };
    
  3. Simpan perubahan yang telah dilakukan, dan sistem akan secara otomatis menyinkronkan plugin baru Anda.
  4. Untuk menguji plugin, cukup kirimkan pesan dengan perintah .test kepada bot Anda, dan bot akan memberikan respons sesuai dengan fungsi yang telah Anda definisikan dalam plugin.

Membuat Plugin dalam Pesan

Perintah bawaan sistem untuk mengelola plugin melalui pesan.

Kondisi Pesan Deskripsi
.add-plugin <namafile.js> <kode> Membuat/mengubah plugin
.list-plugin Daftar nama plugin
.delete-plugin <namafile.js> Menghapus plugin
.copy-plugin <namafile.js> Menyalin plugin

Dibawah ini adalah contoh penggunaan untuk membuat/mengubah plugin melalui pesan obrolan:

  1. Kirim pesan kepada bot Anda dengan format berikut:
    .add-plugin example.js
    module.exports = async (sock, message, msg, sender) => {
      if (msg && msg.toLowerCase() === '.test') {
        await sock.sendMessage(sender, { text: 'Ini adalah respons untuk perintah test' });
      }
    };
    
  2. Jika bot memberikan respons yang sesuai, maka plugin berhasil ditambahkan dan siap digunakan.
  3. Untuk menguji plugin, kirimkan pesan dengan perintah .test kepada bot, dan bot akan merespons sesuai dengan fungsi yang telah Anda definisikan dalam plugin.

Contoh penggunaan lainnya dapat Anda temukan dengan mengikuti aturan yang terdapat dalam tabel sebelumnya.

Perintah Bawaan

Kondisi Pesan Deskripsi
.text Respon pesan teks
.img Respon pesan gambar
.audio Respon pesan audio
.video Respon pesan video
.location Respon pesan lokasi

Konfigurasi

Konfigurasi utama yang digunakan untuk menjalankan aplikasi, mencakup pengaturan server, identitas bot, otentikasi API, pengelolaan koneksi socket, kebijakan CORS, serta mode operasi bot. Setiap parameter dapat disesuaikan untuk mengoptimalkan performa dan keamanan sistem.

Jalur Berkas: /config/config.js

Nama Konfigurasi Deskripsi Singkat
PORT Port yang digunakan oleh server.
BOT_NUMBER Nomor bot WhatsApp (digunakan saat mode kode pairing).
API_KEY Kunci API untuk otorisasi akses webhook.
WEBHOOK_TIMEOUT Waktu tunggu (ms) webhook.
WEBHOOK_SANITATION Aktif/Nonaktif apakah data webhook harus disanitasi.
SOCKET_TIMEOUT Timeout koneksi socket dalam milidetik.
SOCKET_ATTEMPTS Jumlah maksimum percobaan koneksi socket.
SOCKET_PAIRING Aktif/Nonaktif metode koneksi socket (QRCode / Kode Pairing).
CORS_ORIGIN Daftar origin yang diizinkan untuk akses CORS (webhook).
CORS_CREDENTIALS Aktif/Nonaktif apakah permintaan CORS mengizinkan kredensial.
SELF_MODE_GLOBAL Aktif/Nonaktif mode self untuk pesan perintah global.
SELF_MODE_PLUGIN Aktif/Nonaktif mode self untuk pesan perintah plugin.
GROUP_GREETING Aktif/Nonaktif pesan sambutan grup.
MESSAGE_LOG_RAW Menampilkan log pesan mentah

Webhook

Anda dapat mengonfigurasi dan mengelola webhook aplikasi Anda di berkas /routes/web.js. Di sinilah Anda dapat menentukan rute dan logika untuk menangani permintaan webhook yang masuk secara efektif.

1. Teks

POST http://localhost:3000/webhook/text

Authorization

Key Value Add to
x-api-key api-key-anda Headers

Body Request

Mendukung banyak penerima

{
  "recipient": [628xxxxxxxx, 628xxxxxxxx],
  "data": "data string Anda"
}

2. Gambar

POST http://localhost:3000/webhook/image

Authorization

Key Value Add to
x-api-key api-key-anda Headers

Body Request

Mendukung banyak penerima

{
  "recipient": [628xxxxxxxx, 628xxxxxxxx],
  "image": "url_images",
  "data": "data string Anda"
}

3. Audio

POST http://localhost:3000/webhook/audio

Authorization

Key Value Add to
x-api-key api-key-anda Headers

Body Request

Mendukung banyak penerima

{
  "recipient": [628xxxxxxxx, 628xxxxxxxx],
  "audio": "url_audio"
}

4. Video

POST http://localhost:3000/webhook/video

Authorization

Key Value Add to
x-api-key api-key-anda Headers

Body Request

Mendukung banyak penerima

{
  "recipient": [628xxxxxxxx, 628xxxxxxxx],
  "video": "url_video",
  "data": "data string Anda"
}

5. Lokasi

POST http://localhost:3000/webhook/location

Authorization

Key Value Add to
x-api-key api-key-anda Headers

Body Request

Mendukung banyak penerima

{
  "recipient": [628xxxxxxxx, 628xxxxxxxx],
  "location": "latitude,longitude"
}