bangHasabot: Personal Asisten bangHasan di Telegram
Sepanjang Ramadhan ini, banyak hasil coding yang terbengkalai pada akhirnya terwujud. Satu diantaranya adalah personal bot ini. Yang lainnya adalah hsubot (userbot telegram nodejs)
Pengantar
Tulisan ini dimaksudkan untuk dokumentasi pribadi, namun bersifat publik agar diambil hikmah dan pelajaran buat siapa saja dan dalam tujuan yang baik serta manfaat yang sebanyak-banyaknya.
Tujuan
Dibuat untuk tujuan personal asistensi. Satu diantarnya adalah memasukkan semua tools dan fitur bot yang selama ini dibuat. Terutama fitur-fitur yang bersifat personal dan fitur yang sering dipakai secara harian.
Misalnya, tools untuk mengontrol server (vps) tanpa harus login, upload dan download file yang kadang perlu public url, monitoring rekening bank, dan banyak hal yang biasa dilakukan sehari-hari.
Dengan integrasi ini, tentu saja dibutuhkan dokumentasi yang baik. Dan ini adalah satu diantaranya.
Engine
Core engine bot dibuat menggunakan bahasa pemrograman javascript / nodejs. Saat ini belum menggunakan database. Mungkin dalam jangka dekat akan diimplementasikan integrasi database menggunakan mongoDB.
Kelebihan
Bot ini dirancang dengan sistem yang baik. Dengan pengalaman yang sudah ditekuni dalam 5 tahun, maka terciptalah efisiensi dalam banyak hal. Dan akan terus dikembangkan menjadi sebuah sistem yang benar-benar dianggap cukup.
Fitur yang berasa berasa dari sisi kemudahan dan implementasi juga pengembangannya adalah:
- Menggunakan nodejs, berasa sangat puas (dibandingkan PHP). Terutama dari sisi akselerasi, dan keluwesan berbagai hal.
- Menggunakan telegraf sebagai framework utama. Tidak jadi bikin framework sendiri karena dirasa sudah cukup. Meski terdapat bugs yang cukup fatal pada versi terakhir yang dipakai ini (v4.3.0) terutama jika berurusan dengan Bot API Server sendiri untuk urusan upload file.
- Bot API Server sendiri. Dengan ini, bot bisa mengupload / download file ke/dari server telegram dengan batasan cukup besar. Tidak hanya 50 MB seperti batasan pada umumnya, namun bisa hingga 2 GB perfile.
- System plugable, atau sistem plugins. Sehingga mudah untuk dibongkar pasang, dan dibuat oleh siapa saja (pihak luar) memasukkan command dan mengintegrasikan sistem lainnya.
- Speed bot tinggi, dengan responsif dibawah 0.4 detik secara rata-rata. Sangat puas sekali, dibandingkan performa sebelum-sebelumnya.
Source Code
Di download di https://github.com/banghasan/banghasanbot
Akses private
Command
Secara umum dapat menggunakan prefix: / (garing), ! (seru), atau . (titik)
- Jika ada
[R]
artinya reply pesan. - Simbol pipe |, artinya atau.
Misal
.ver|versi
artinya bisa menggunakan .ver atau .versi - Simbol kurung
( )
, satu rangkaian dan WAJIB. Biasanya untuk memilih atau bersifat optional namun harus tetap memilih salah satunya. Contoh seperti sebelumnya.(ver|versi)
artinya memilih salah satu dengan penjelas kurung. - Simbol kurung kotak
[ ]
, artinya satu rangkaian, namun tidak WAJIB bisa diabaikan atau dilewati. Bersifat optional.
Download
Pembatasan: admin
Fitur download ada bermacam-macam. Maksud dari download adalah, mendownload file ke local server (vps/komputer/host) dimana bot dijalankan.
Ini berfungsi untuk menjadikan public link download, dan bisa di resume.
File Telegram
Download file dari Telegram ke host.
Filenya harus sudah ada di Telegram. Misalnya dengan cara memfoward file yang akan di download ke bot.
Reply file untuk proses mendownload.
[R] .dl|download
File Eksternal
Untuk download file (direct URL), ke host.
.dl|download URL
Youtube
Download file youtube ke host.
.yt|ydl|youtube [option] URL
Upload
Pembatasan: admin
Mengupload file dari mana saja ke Telegram. File tidak disimpan ke host, langsung di bypass ke server Telegram.
Command disesuikan dengan tipe nya.
Syntax
.tipe TARGET
Tipe tersedia:
- audio
- anim, animation, animasi
- doc, document
- photo, foto
- sticker
- vid, video
- voice
TARGET
Bisa beragam variannya, salah satu diantaranya:
- ID file telegram
- File local (host/server) diawali dengan . (titik) ~ atau /
- URL diawali dengan http
Spesial
Bank BCA
Cek informasi, saldo, dan mutasi
.bca (info|saldo|mutasi)
Internal
Bantuan perintah untuk internal bot.
Bantuan
Pembatasan: umum
Untuk menampilkan informasi halaman bantuan.
.help
Halaman bot yang akan ditampilkan adalah : https://telegra.ph/bangHasan-Bot-05-11
Debug
Pembatasan: umum
Menampilkan informasi message dalam format json
[R] .debug|json
Ping
Pembatasan: umum
Cek respon bot.
Bot ini dibuat dengan API Server sendiri. Sehingga respon time sangat cepat.
.ping
Die
Pembatasan: admin
Mematikan atau restart bot (jika diaktifkan cron)
.die
File
Pembatasan: admin
Fitur berkenaan dengan orgasinsasi file pada host.
Cek isi file dalam folder download:
.ls [dir]
Hapus file:
.rm (file|mask)
Versi
Pembatasan: umum
Menampilkan versi terkini dari bot. Sekaligus informasi sistem, termasuk uptime.
.ver|versi
System
Pembatasan: admin
Fitur spesifik berkenaan dengan OS atau System.
Perintah tersedia
- bash
- date
- uptime
- ram, memory
- os, distro
- cal, ncal, calender, ical
Penjelasan hanya diperlukan untuk spesifik saja.
Bash
Pembatasan: admin
Perintah shell linux.
.sh|bash
Kalender
Pembatasan: umum
.cal
dan.ncal
kalender masehi.ical
untuk kalender hijriyah
Text
Text to Speech
[R] .tts [text]
Contoh:
.tts Halo apa kabarnya, mas Bambang?
Hasilnya akan dikirim sebuah file audio.
Flip
[R] .flip [text]
Contoh: .flip Ayam
hasilnya: ɯɐʎ∀
Reverse
Membalik tulisan
[R] .rev [text]
Contoh: .rev Ayam
hasilnya mayA
Lain-lain
Tentu saja, fitur dan plugins akan masih dikembangkan. Karena kebutuhan masih banyak.
InsyaAllah