bangHasabot: Personal Asisten bangHasan di Telegram

4 menit saja |

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)

bank bca

bank bca

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

ping

Die

Pembatasan: admin

Mematikan atau restart bot (jika diaktifkan cron)

.die

die n restart

File

Pembatasan: admin

Fitur berkenaan dengan orgasinsasi file pada host.

Cek isi file dalam folder download:

.ls [dir]

Hapus file:

.rm (file|mask)

remove_file

Versi

Pembatasan: umum

Menampilkan versi terkini dari bot. Sekaligus informasi sistem, termasuk uptime.

.ver|versi

Info 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.

kalender

Bash

Pembatasan: admin

Perintah shell linux.

.sh|bash

sample bash

sample bash

Kalender

Pembatasan: umum

  • .cal dan .ncal kalender masehi
  • .ical untuk kalender hijriyah

kalender

kalender

kalender

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