Alat Pengguna

Alat Situs


cuan77:bot_tele_poin

Ini adalah dokumen versi lama!


BOT TELEGRAM – MODE (KODE / ID / SIMPEL)

Panduan ini menjelaskan konfigurasi dan cara pakai bot Telegram pada *tiga mode* yang tersedia di menu: KODE AKSES, ID AKSES, dan SIMPEL AKSES (Mode 3). Gunakan dokumen ini sebagai referensi untuk menyiapkan file, format data, serta cara pengguna berinteraksi dengan bot.


1. Pemilihan Mode

Saat aplikasi dijalankan, tampilkan menu berikut (sesuai `mainview()` di kode):

[1] KODE AKSES
[2] ID AKSES
[3] SIMPEL AKSES

Pilih mode dengan memasukkan nomornya:

SELECT MENU : 1 | 2 | 3

Pemanggilan fungsi di kode:

if menu == '1':
    mode_kode_akses()
elif menu == '2':
    mode_id_akses()
elif menu == '3':
    mode3_bypass_akses()

2. Karakteristik tiap Mode

Mode 1 — KODE AKSES

  • Mengharuskan pengguna memiliki kode akses (format dan validasi tergantung implementasi `mode_kode_akses()`).
  • Biasanya digunakan bila ingin memberi hak hanya kepada pemilik kode.
  • Interaksi: pengguna mengirim kode khusus atau command yang memuat kode.

Mode 2 — ID AKSES

  • Menggunakan ID Telegram untuk validasi (daftar ID yang diizinkan disimpan di konfigurasi).
  • Cocok untuk kontrol akses ketat (mis. hanya admin atau daftar user tertentu).
  • Interaksi: pengguna harus memiliki ID yang terdaftar agar command berjalan.

Mode 3 — SIMPEL AKSES (Bypass / Plain Text)

  • Tidak ada validasi akses (tidak perlu registrasi atau kode akses).
  • Pengguna cukup mengirim kode kupon sebagai teks biasa (tanpa `/`).
  • Kode valid → bot mengirim QR + Barcode; kode salah → bot silent (tidak membalas).
  • Handler utama: `__kupon_code_bypass` (dipicu untuk pesan yang tidak diawali `/`).

3. Struktur Folder Wajib (minimal)

Agar semua mode berjalan normal, minimal siapkan struktur berikut:

project/
├── bot_kupon/             # (opsional untuk mode non-bypass)
├── bot_kupon_mode3/       # WAJIB untuk mode 3 (SIMPEL)
├── poinku/                # WAJIB: data akun poinku per nomor
├── bot_config/
│   ├── admin_id.txt
│   ├── list_user.txt
│   └── nowa_owner.txt
├── bottelegramtoken.txt
└── main.py (atau file bot)

Catatan:

  • `bot_kupon/` biasa dipakai untuk mode non-bypass (command `/kupon <nama> <kode>`).
  • `bot_kupon_mode3/` dipakai untuk pencarian kupon plain-text (mode 3).

4. Folder `bot_kupon_mode3`

Folder ini berisi daftar kupon untuk mode simpel. Bot akan membaca seluruh baris dari semua file di folder ini.

Format baris (WAJIB)

NOMOR_POINKU:KODE_KUPON:EXP

Contoh

628123456789:ABC123:2026-12-31
628111222333:DEF456:2026-06-30
628999888777:GIFT999

Catatan penting:

  • Pemisah harus `:`; urutan tidak boleh diubah.
  • FIELD `EXP` bersifat opsional — jika kosong, caption EXP tidak ditampilkan.
  • Mode 3 mencari kecocokan pada elemen kedua (`split(':')[1] == user_input`).

5. Folder `poinku`

Berisi file per- nomor yang dipakai untuk menghasilkan QR melalui API Poinku.

Nama file

poinku/<nomor>.txt

Format isi (baris pertama digunakan)

nomor:pin:device_id:access_token:...

Contoh:

628123456789:1234:DEVICEID123:TOKENABCXYZ

Keterangan:

  • `device_id` dan `access_token` harus valid — digunakan oleh `PoinkuQr.generate_qrcode()`.
  • Field `pin` digunakan saat operasi `/potong` (aktivasi wallet).

6. File Konfigurasi Bot

#### bottelegramtoken.txt Isi token bot Telegram (1 token per baris), contoh:

123456:ABC-DEF-TOKEN

#### bot_config/admin_id.txt Isi ID admin (dipakai untuk fitur /bc), contoh:

123456789

#### bot_config/list_user.txt

  • Berisi daftar user yang berinteraksi: `user_id:dummy`
  • Otomatis ditambah oleh bot saat user menggunakan command atau berinteraksi.

#### bot_config/nowa_owner.txt

  • Nomor WA owner untuk keperluan PM regist (opsional, sesuai kode).

7. Cara Pakai Kupon (untuk pengguna)

Berikut ringkasan interaksi untuk tiap skenario:

A. Mode non-bypass (dengan command)

  • Command umum:
/kupon <nama_file> <kode_atau_nomor>
  • Contoh:
/kupon promo_juli ABC123
  • Bot akan:

1. Buka file `bot_kupon/<nama_file>.txt`

  2. Cari baris yang cocok (berdasarkan nomor atau kode)
  3. Ambil `poinku/<nomor>.txt`
  4. Generate QR + Barcode → kirim ke user (gambar otomatis dihapus ~120s)

B. Mode 3 — SIMPEL (plain-text)

  • Cukup kirim:
ABC123
  • Bot mencari di `bot_kupon_mode3`:
    • Ketemu → kirim QR + Barcode (caption EXP jika tersedia)
    • Tidak ketemu → bot tidak merespon

C. Command tambahan

  • /scn &lt;nomor&gt;

    — generate QR untuk nomor spesifik (pakai `poinku/<nomor>.txt`)

  • /potong &lt;nomor&gt;

    — generate QR sekaligus memanggil activation (pakai pin di file poinku)

  • /ulangi

    — kirim ulang QR terakhir untuk user (pakai `index_previous`)

  • /qris

    — kirim file `bot_config/qris.jpg` (jika ada)

8. Alur Kerja Bot (Flow)

1. Bot menerima pesan dari user. 2. Jika pesan diawali dengan `/` → proses sebagai command:

  • Mis. `/kupon`, `/scn`, `/potong`, `/start`, `/help`, dsb.

3. Jika pesan tidak diawali `/` → perilaku tergantung mode:

  • Mode 3 aktif → anggap sebagai kode kupon; cari di `bot_kupon_mode3`.
  • Mode lain → pesan plain text dapat diabaikan atau diproses sesuai implementasi mode.

4. Jika ditemukan entri kupon:

  • Ambil `nomor` dari entri
  • Baca file `poinku/<nomor>.txt` untuk `device_id` dan `access_token`
  • Panggil `PoinkuQr.generate_qrcode()` → dapatkan `encodedData`
  • Buat gambar QR & Barcode via `editor.create_poiku_qrbarcode(…)`
  • Kirim gambar ke user (kedua gambar dihapus otomatis setelah ~120 detik)

5. Jika entri tidak ditemukan atau ada error:

  • Mode 3 → silent (tidak membalas)
  • Mode command → kirim pesan error / dialog (`cus_dialog.get_dialog('error_qr')` atau `not_regist`)

cuan77/bot_tele_poin.1769867414.txt.gz · Terakhir diubah: oleh fakhrun