cuan77:c77_kode
Perbedaan
Ini menunjukkan perbedaan antara versi yang terpilih dengan versi yang sedang aktif.
| Revisi selanjutnya | Revisi sebelumnya | ||
| cuan77:c77_kode [2025/12/14 07:41] – dibuat fakhrun | cuan77:c77_kode [2025/12/16 11:17] (sekarang) – fakhrun | ||
|---|---|---|---|
| Baris 1: | Baris 1: | ||
| - | DOKUMENTASI | + | ====== Dokumentasi Bahasa Pemrograman |
| - | Dokumentasi ini menjelaskan struktur, alur kerja, dan fungsi dari script bot berbasis | + | Selamat datang di dokumentasi teknis untuk **c77**, sebuah bahasa pemrograman |
| - | ================================================== | + | Dokumen ini menjelaskan sintaks dasar, konfigurasi perintah, fungsi bawaan (API), dan struktur kontrol alur. |
| - | STRUKTUR UMUM SCRIPT | + | ===== 1. Sintaks Dasar ===== |
| - | ================================================== | + | |
| - | Script dibagi menjadi dua bagian utama: | + | ==== Deklarasi Label ==== |
| - | Konfigurasi Command | + | Label berfungsi sebagai penanda titik awal sebuah blok logika atau fungsi. Sistem akan melompat |
| - | Digunakan untuk memetakan command yang diketik user ke logic tertentu. | + | |
| - | Logic Command | + | * **Aturan:** Nama label wajib diawali dengan tanda titik (.). |
| - | Berisi aksi atau proses yang dijalankan saat command dipanggil. | + | * **Sintaks: |
| + | * **Contoh:** | ||
| - | ================================================== | + | < |
| - | 2. KONFIGURASI COMMAND | + | .fungsi_logika |
| + | print " | ||
| + | </ | ||
| - | Format umum: | + | ==== Komentar ==== |
| - | saat_perintah /command lompat | + | Komentar digunakan untuk memberikan catatan pada kode program. Bagian ini tidak akan dieksekusi oleh mesin. |
| - | Penjelasan: | + | * **Simbol:** Titik koma (;) |
| + | * **Contoh:** | ||
| - | saat_perintah : mendeteksi command dari user | + | < |
| + | ; Ini adalah komentar baris penuh | ||
| + | count = 0 ; Ini komentar di akhir baris | ||
| + | </ | ||
| - | /command : perintah yang diketik user | + | ==== Variabel & Tipe Data ==== |
| - | lompat | + | Pendefinisian variabel dilakukan secara dinamis (tanpa tipe data eksplisit). |
| - | Daftar command yang tersedia: | + | * **String:** Teks harus diapit tanda kutip ganda ("). |
| + | * **Integer: | ||
| + | * **Operator Penggabungan: | ||
| + | * **Contoh:** | ||
| - | /start -> Memulai bot | + | <code> |
| - | /ping -> Mengecek status bot | + | nama = " |
| - | /spam -> Demo looping | + | skor = 100 |
| - | /help -> Menampilkan menu | + | pesan = "Halo " + nama |
| - | /qris -> Mengirim gambar QRIS | + | </code> |
| - | /ceklog -> Membaca isi file | + | |
| - | /catat -> Menyimpan data user | + | |
| - | /cekagrs -> Menampilkan argumen command | + | |
| - | ================================================== | + | ===== 2. Konfigurasi Perintah (Event Listener) |
| - | 3. VARIABEL YANG DIGUNAKAN | + | |
| - | chat_id : ID chat tujuan | + | Bagian ini digunakan untuk memetakan perintah yang diketik pengguna (Trigger) ke Label logika yang sesuai. |
| - | sender_name : Nama pengirim pesan | + | |
| - | agrs : Argumen setelah command | + | |
| - | msg : Variabel pesan | + | |
| - | text : Variabel teks | + | |
| - | info : Informasi menu | + | |
| - | count : Counter loop | + | |
| - | max_spam : Batas looping | + | |
| - | ================================================== | + | **Sintaks: |
| - | 4. PENJELASAN LOGIC COMMAND | + | '' |
| - | COMMAND /start | + | |
| - | Fungsi: | + | **Parameter:** |
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| - | Menyapa user berdasarkan nama | + | **Contoh: |
| + | < | ||
| + | saat_perintah /start lompat .cmd_start | ||
| + | saat_perintah /menu lompat .cmd_menu | ||
| + | </ | ||
| - | Menampilkan pesan selamat datang | + | ===== 3. Fungsi Bawaan (API Reference) ===== |
| - | Mengarahkan user ke command /help | + | Berikut adalah daftar fungsi yang tersedia, cara penggunaannya, |
| - | Contoh output: | + | ==== send ==== |
| - | Halo Fakhrun, selamat datang di c77 programing language | + | Mengirim pesan teks ke pengguna. |
| - | Ketik /help untuk melihat menu. | + | |
| - | COMMAND /ping | + | * **Argumen 1:** '' |
| + | * **Argumen 2:** '' | ||
| + | * **Contoh:** | ||
| - | Fungsi: | + | < |
| + | send chat_id "Halo, selamat datang!" | ||
| + | </ | ||
| - | Mengecek apakah bot berjalan | + | ==== send_photo ==== |
| + | Mengirim file gambar disertai | ||
| - | Output: | + | * **PENTING:** File gambar hanya dibaca dari dalam folder **bot_config**. |
| - | Pong! | + | * **Argumen 1:** '' |
| - | Server berjalan dengan lancar. | + | * **Argumen 2:** '' |
| + | * **Argumen 3:** '' | ||
| + | * **Contoh:** | ||
| - | COMMAND | + | < |
| + | path = " | ||
| + | desc = "Ini adalah menu kami" | ||
| + | send_photo chat_id path desc | ||
| + | </ | ||
| - | Fungsi: | + | ==== kirim_vidio==== |
| + | Mengirim file vidio disertai dengan teks keterangan (caption). | ||
| - | Contoh | + | * **PENTING: |
| + | * **Argumen 1:** '' | ||
| + | * **Argumen 2:** '' | ||
| + | * **Argumen 3:** '' | ||
| + | * **Contoh:** | ||
| - | Mengirim pesan berulang sesuai batas | + | < |
| + | path = " | ||
| + | desc = "Ini adalah menu kami" | ||
| + | kirim_vidio chat_id path desc | ||
| + | </ | ||
| - | Alur: | ||
| - | Bot mengirim pesan mulai spam | + | ==== print ==== |
| + | Mencetak log ke konsol server. Fungsi ini berguna untuk // | ||
| - | Mengirim pesan spam berulang | + | * **Argumen 1:** '' |
| + | * **Contoh:** | ||
| - | Berhenti setelah mencapai batas | + | < |
| + | print "User telah menekan tombol start" | ||
| + | </ | ||
| - | Contoh output: | + | ==== sleep ==== |
| - | Mulai spamming... | + | Menunda eksekusi program selama beberapa milidetik (delay). |
| - | Spam ke-1 | + | |
| - | Spam ke-2 | + | |
| - | Spam ke-3 | + | |
| - | Selesai spam. | + | |
| - | COMMAND /help | + | * **Argumen 1:** '' |
| + | * **Contoh:** | ||
| - | Fungsi: | + | < |
| + | sleep 1000 ; Menunggu selama 1 detik | ||
| + | </ | ||
| - | Menampilkan daftar command yang tersedia | + | ==== baca_file ==== |
| + | Membaca isi file teks dari penyimpanan lokal dan menyimpannya ke dalam variabel. | ||
| - | Isi menu: | + | * **Argumen 1:** '' |
| - | /start - Mulai Bot | + | * **Return:** Mengembalikan isi file sebagai String. |
| - | /ping - Cek Status | + | * **Contoh:** |
| - | /spam - Demo Loop | + | |
| - | COMMAND | + | < |
| + | konten = baca_file " | ||
| + | send chat_id konten | ||
| + | </code> | ||
| - | Fungsi: | + | ==== tulis_file ==== |
| + | Menulis teks ke dalam file. Jika file tidak ada, akan dibuat. Jika ada, akan ditimpa/ | ||
| - | Mengirim file gambar QRIS ke user | + | * **PENTING: |
| + | * **Argumen 1:** '' | ||
| + | * **Argumen 2:** '' | ||
| + | * **Contoh:** | ||
| - | Catatan: | + | < |
| + | data = "Log aktivitas baru" | ||
| + | tulis_file " | ||
| + | </ | ||
| - | File qris.png harus tersedia di folder | + | ==== baris_keyboard ==== |
| + | Menambahkan baris inline keyboard pada bot. | ||
| - | Caption mendukung variabel dan baris baru | + | * **Argumen :** '' |
| + | * **Contoh:** | ||
| - | COMMAND | + | < |
| + | baris_keyboard "/halo" "/ | ||
| + | baris_keyboard "/co gratis" | ||
| + | </ | ||
| - | Fungsi: | ||
| - | Membaca isi file klik.txt | + | ===== 4. Kontrol Alur (Flow Control) ===== |
| - | Mengirim isi file ke chat | + | Mengatur jalannya logika program, seperti percabangan dan pengulangan. |
| - | COMMAND /catat | + | ==== lompat (Unconditional Jump) ==== |
| + | Memindahkan eksekusi program langsung ke label lain tanpa syarat. | ||
| - | Fungsi: | + | * **Sintaks:** '' |
| + | * **Contoh:** '' | ||
| - | Menyimpan nama user ke dalam file | + | ==== jika (Conditional Jump / If) ==== |
| + | Melakukan lompatan hanya jika kondisi terpenuhi. | ||
| - | File output: | + | * **Sintaks:** '' |
| - | bot_config/ | + | * **Operator: |
| + | * < (Kurang dari) | ||
| + | * > (Lebih dari) | ||
| + | * = (Sama dengan) | ||
| + | * != (Tidak sama dengan) | ||
| + | * **Contoh:** | ||
| - | Contoh isi file: | + | < |
| - | Tamu terakhir: Fakhrun | + | count = 0 |
| + | max = 5 | ||
| + | .looping | ||
| + | count = count + 1 | ||
| + | jika count < max lompat .looping | ||
| + | </ | ||
| - | COMMAND /cekagrs | + | ==== stop ==== |
| + | Menghentikan eksekusi skrip pada baris tersebut. **Wajib** diletakkan di akhir setiap blok label agar kode tidak " | ||
| - | Fungsi: | + | * **Sintaks:** '' |
| - | Menampilkan argumen yang diketik user | + | ===== 5. Variabel Built-in ===== |
| - | Contoh input: | + | Variabel ini disediakan otomatis oleh sistem saat perintah dijalankan. Anda tidak perlu mendeklarasikannya secara manual. |
| - | /cekagrs halo dunia | + | |
| - | Output: | + | ^ Nama Variabel ^ Tipe Data ^ Deskripsi ^ |
| - | ini agruments mu halo dunia | + | | **sender_name** | String | Nama tampilan (//display name//) pengirim pesan. | |
| + | | **chat_id** | Int/String | ID unik pengguna atau grup tempat pesan dikirim. | | ||
| + | | **user_id** | Int | ID unik pengguna. | | ||
| + | | **raw_text** | String | Raw text pesan yang di kirim oleh user. | | ||
| + | | **agrs** | String | Argumen tambahan yang diketik user setelah perintah utama. | | ||
| - | ================================================== | + | **Contoh Penggunaan agrs:** |
| - | 5. SYNTAX DAN PERINTAH PENTING | + | Jika pengguna mengetik: ''/ |
| + | Maka: | ||
| + | * Command: ''/ | ||
| + | * agrs: ''" | ||
| - | Kontrol alur: | + | < |
| + | .cmd_echo | ||
| + | msg = "Anda mengetik: " + agrs | ||
| + | send chat_id msg | ||
| + | stop | ||
| + | </ | ||
| - | lompat | + | ===== 6. Contoh Best Practice (Sistem Tiket) ===== |
| - | stop : menghentikan eksekusi | + | Berikut adalah contoh implementasi kode yang bersih dan terstruktur untuk sistem " |
| - | jika kondisi lompat | + | < |
| + | ; ================================================== | ||
| + | ; APLIKASI HELPDESK MINI | ||
| + | ; Deskripsi: Menerima keluhan user dan menyimpannya | ||
| + | ; ================================================== | ||
| - | Delay: | + | ; --- BAGIAN 1: KONFIGURASI HANDLER --- |
| - | sleep 1000 | + | saat_perintah / |
| - | (delay dalam milidetik) | + | saat_perintah / |
| + | saat_perintah / | ||
| - | Pengiriman pesan: | + | ; --- BAGIAN 2: LOGIKA PROGRAM --- |
| - | send chat_id teks | + | |
| - | send_photo chat_id path caption | + | |
| - | File handling: | + | .handler_buat_tiket |
| - | baca_file | + | ; 1. Persiapan Data |
| - | tulis_file "file.txt" | + | ; Menggabungkan nama pengirim dengan isi pesan (agrs) |
| + | log_entry = " | ||
| + | | ||
| + | | ||
| + | |||
| + | ; 2. Simpan ke File (Persistent Storage) | ||
| + | ; Data akan tersimpan di folder bot_config | ||
| + | | ||
| + | |||
| + | ; 3. Feedback ke User | ||
| + | reply = "Halo " + sender_name | ||
| + | reply = reply + ", tiket Anda berhasil kami simpan." | ||
| + | send chat_id reply | ||
| + | |||
| + | ; 4. Log Internal | ||
| + | print "Tiket baru telah dibuat." | ||
| + | stop | ||
| - | ================================================== | + | .handler_baca_database |
| - | 6. CATATAN PENTING | + | ; Membaca seluruh isi file keluhan |
| + | isi_db | ||
| + | |||
| + | header | ||
| + | send chat_id header | ||
| + | send chat_id isi_db | ||
| + | stop | ||
| - | Setiap command wajib diakhiri dengan stop | + | .handler_reset_data |
| - | + | ; Mengosongkan | |
| - | Loop harus memiliki kondisi berhenti | + | |
| - | + | | |
| - | Pastikan | + | |
| - | + | send chat_id " | |
| - | Nama label tidak boleh duplikat | + | stop |
| - | + | </ | |
| - | ================================================== | + | |
| - | 7. CONTOH COMMAND DENGAN ARGUMEN | + | |
| - | + | ||
| - | Input: | + | |
| - | /cekagrs testing 123 | + | |
| - | + | ||
| - | Output: | + | |
| - | ini agruments mu testing 123 | + | |
| - | + | ||
| - | ================================================== | + | |
| - | 8. PENUTUP | + | |
| - | + | ||
| - | Script ini cocok digunakan untuk: | + | |
| - | + | ||
| - | Bot Telegram | + | |
| - | + | ||
| - | Automation script | + | |
| - | + | ||
| - | Pembelajaran scripting | + | |
| - | + | ||
| - | Prototype command system | + | |
cuan77/c77_kode.1765698111.txt.gz · Terakhir diubah: oleh fakhrun
