Skip to content

irwanx/whatsapp-status-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

51 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“ฑ WhatsApp Status Reader

License Python Neonize uv Author PRs Welcome

๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia ยท ๐Ÿ‡ฌ๐Ÿ‡ง English


Bot WhatsApp otomatis berbasis Python yang menandai status WhatsApp kontak sebagai "sudah dibaca" secara real-time menggunakan Neonize โ€” Python wrapper untuk whatsmeow.

Disclaimer: Proyek ini bukan produk resmi WhatsApp/Meta. Gunakan dengan bijak dan sesuai ketentuan layanan WhatsApp.


๐Ÿš€ Fitur

Fitur Keterangan
๐Ÿ‘๏ธ Auto-read status Menandai status WhatsApp sebagai dibaca secara otomatis
โšก Neonize + whatsmeow Koneksi stabil berbasis Go bridge
๐Ÿ”‘ Pairing Code Login via kode โ€” tanpa scan QR
๐Ÿ—„๏ธ SQLite Sesi login tersimpan, tidak perlu pairing ulang
๐Ÿ uv Setup cepat tanpa ribet virtual environment manual
๐Ÿ“‹ PM2 Ready Log bersih dengan flush=True, siap dijalankan via PM2

๐Ÿ“ Struktur Folder

wsr-py/
โ”œโ”€โ”€ main.py               # Entry point bot
โ”œโ”€โ”€ db.sqlite3           # Database sesi (dibuat otomatis)
โ”œโ”€โ”€ pyproject.toml       # Konfigurasi project & dependensi
โ”œโ”€โ”€ uv.lock              # Lockfile dependensi
โ”œโ”€โ”€ .python-version      # Versi Python
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ README.md

db.sqlite3 sudah masuk .gitignore โ€” sesi login tidak akan ikut ter-commit.


๐Ÿ“ฆ Prasyarat

Install uv

Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS / Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

๐Ÿ› ๏ธ Cara Menggunakan

1. Clone repositori

git clone https://github.com/irwanx/whatsapp-status-reader.git
cd whatsapp-status-reader

2. Install dependensi

uv sync

3. Konfigurasi file .env

Salin file .env.example ke .env dan sesuaikan konfigurasinya:

Windows (PowerShell):

cp .env.example .env

macOS / Linux:

cp .env.example .env

Buka file .env dan atur nilai reaksinya jika diperlukan:

# Mengaktifkan/nonaktifkan reaksi status (true untuk aktif, false untuk mati)
REACTION_ENABLED=true

# Emoji yang digunakan untuk reaksi status (contoh: โค๏ธ, ๐Ÿ˜‚, ๐Ÿ˜ฎ, ๐Ÿ˜ข, ๐Ÿ™, ๐Ÿ‘)
REACTION_EMOJI=โค๏ธ

4. Jalankan bot

uv run main.py

Pertama kali run โ€” bot akan meminta nomor HP:

Masukkan nomor HP (contoh: 628123456789): 628123456789
[19:04:26] ๐Ÿ“ฑ Pair code: ABCD-1234

Masukkan kode tersebut di WhatsApp: Setelan โ†’ Perangkat Tertaut โ†’ Tautkan Perangkat.

Setelah berhasil:

[19:04:48] ๐Ÿ”— Logged as 628123456789
[19:04:55] ๐Ÿ‘๏ธ  Status dari 628987654321 ditandai dibaca

Run berikutnya โ€” bot langsung konek tanpa pairing ulang.


๐Ÿ–ฅ๏ธ Menjalankan dengan PM2

Cocok untuk server/VPS agar bot berjalan terus di background.

Install PM2

npm install -g pm2

Jalankan bot via PM2

Pastikan sudah pairing dulu (uv run main.py) sebelum pakai PM2, karena PM2 tidak bisa menerima input interaktif.

pm2 start "uv run main.py" --name wsr-bot

Perintah PM2 berguna

pm2 logs wsr-bot       # lihat log real-time
pm2 status             # cek status bot
pm2 restart wsr-bot    # restart bot
pm2 stop wsr-bot       # stop bot
pm2 startup            # auto-start saat server reboot
pm2 save               # simpan konfigurasi PM2

๐Ÿค Kontribusi

  1. Fork repositori ini
  2. Buat branch baru: git checkout -b feat/nama-fitur
  3. Commit: git commit -m "feat: tambah fitur X"
  4. Push: git push origin feat/nama-fitur
  5. Buat Pull Request

๐Ÿ“„ Lisensi

MIT ยฉ irwanx


๐Ÿ‡ฌ๐Ÿ‡ง English Version

A Python-based WhatsApp bot that automatically marks WhatsApp statuses as "read" in real-time using Neonize, a Python wrapper for whatsmeow.

Disclaimer: This is not an official WhatsApp/Meta product. Use responsibly and in accordance with WhatsApp's Terms of Service.

Features

Feature Description
๐Ÿ‘๏ธ Auto-read status Automatically marks WhatsApp statuses as read
โšก Neonize + whatsmeow Stable connection via Go bridge
๐Ÿ”‘ Pairing Code Login via code โ€” no QR scan needed
๐Ÿ—„๏ธ SQLite Session persists, no re-pairing needed
๐Ÿ uv Fast setup without manual venv hassle
๐Ÿ“‹ PM2 Ready Clean logs with flush=True, ready for PM2

Project Structure

wsr-py/
โ”œโ”€โ”€ main.py               # Bot entry point
โ”œโ”€โ”€ db.sqlite3           # Session database (auto-created)
โ”œโ”€โ”€ pyproject.toml       # Project config & dependencies
โ”œโ”€โ”€ uv.lock              # Dependency lockfile
โ”œโ”€โ”€ .python-version      # Python version pin
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ README.md

Quick Start

  1. Clone the repository:
git clone https://github.com/irwanx/whatsapp-status-reader.git
cd whatsapp-status-reader
  1. Install dependencies:
uv sync
  1. Configure .env file: Copy .env.example to .env and set your preferred configurations:
cp .env.example .env

Open .env and adjust the variables:

# Enable/disable status reaction (true/false)
REACTION_ENABLED=true

# Emoji to use for status reaction
REACTION_EMOJI=โค๏ธ
  1. Run the bot:
uv run main.py

On first run, enter your phone number (628xxxxxxxx) and enter the pairing code in WhatsApp: Settings โ†’ Linked Devices โ†’ Link a Device.

Subsequent runs will reuse the saved session automatically.

Running with PM2

Pair your account first (uv run main.py) before using PM2, since PM2 can't handle interactive input.

npm install -g pm2
pm2 start "uv run main.py" --name wsr-bot
pm2 logs wsr-bot
pm2 startup && pm2 save

License

MIT ยฉ irwanx

Contributors

Languages