π¦π²π°ππΌπΏ ΟΞ·π
Open in Telegram
A private publication covering software engineering, infrastructure, cybersecurity, research, release notes, and long-term development across multiple projects. The Official Panel: @panelfreeror This is benefit for this group: @inceptionXI
Show moreNo data
Subscribers
+624 hours
+527 days
+6130 days
Posts Archive
Semua plugin harus memiliki footer:
via @{BOT_USERNAME}
---
37. KETENTUAN IMPLEMENTASI
Jangan membuat kode dummy seperti:
console.log("coming soon")
Semua fitur yang ditulis harus benar-benar diimplementasikan.
Jika sebuah API/provider tidak tersedia, buat provider abstraction dan berikan fallback yang jelas.
Jangan mengarang endpoint API yang tidak diketahui.
---
38. SECURITY
Jangan log:
- BOT_TOKEN
- API_HASH
- OTP
- Password 2FA
- Session string
Gunakan permission checking pada:
- Official Bot
- UBot commands
- Broadcast
- Account management
- Admin commands
Jangan memberikan akses admin kepada user biasa.
---
39. README
Buat README lengkap berisi:
1. Requirements
2. Installation
3. Configuration
4. Pterodactyl Setup
5. npm install
6. npm start
7. Telegram Bot Setup
8. API ID / API HASH
9. Login Account
10. Multi Account
11. Commands
12. Troubleshooting
Startup Pterodactyl harus sederhana:
npm install && npm start
---
40. FINAL REQUIREMENT
Hasil akhir harus berupa project Node.js Telegram UBot lengkap, bukan sekadar contoh struktur.
Pastikan:
- Official Bot aktif
- UBot Manager aktif
- Login Telegram benar-benar bekerja
- OTP benar-benar divalidasi
- Session persistent
- Multi-account
- Inline keyboard
- Callback query
- Tombol Back
- Dynamic "via @{BOT_USERNAME}"
- Command dispatcher
- Role system
- Cooldown
- SQLite
- Error handler
- Reconnect
- FloodWait handler
- Broadcast system
- Blacklist
- Maker
- Downloader
- Search
- AI
- Admin Group
- Settings
- Info
- Ping
- Help
Prioritaskan stabilitas dan correctness daripada membuat kode singkat.
Jangan menghapus fitur yang diminta.
Jangan menggunakan ".env".
Jangan membuat QR login jika sistem diminta menggunakan phone number + OTP.
Jangan menganggap OTP valid tanpa verifikasi dari Telegram.
Setiap fitur harus terintegrasi dengan sistem utama dan dapat digunakan setelah project dijalankan.
`Tampilkan daftar command.
Contoh:
ββ¦Ώ HELP
β Prefix : .
ββ¦Ώ
π₯ ADMIN GRUP
β .ban
β .unban
β .mute
β .unmute
β .kick
β .warn
β .delwarn
β .pin
β .delpin
β .antilink
πΌοΈ MAKER
β .s
β .qc
β .iqc
β .brat
π₯ DOWNLOADER
β .tt
β .ig
β .play
π SEARCH
β .google
β .pins
π€ AI
β .ai
π’ BROADCAST
β .bc
β .bl
βοΈ SYSTEM
β .ping
β .info
β .settings
via @{BOT_USERNAME}
Gunakan pagination jika command terlalu banyak.
---
24. SETTINGS
Menu:
βοΈ SETTINGS
Inline:
[ PREFIX ]
[ AUTO READ ]
[ AUTO TYPING ]
[ AUTO REACT ]
[ LANGUAGE ]
[ βοΈ BACK ]
Prefix dapat diubah per akun.
---
25. ROLE SYSTEM
Gunakan role:
Founder
Owner
CEO
Tangan Kanan
Partner
Moderator
Reseller
Member
Role menentukan akses command.
Contoh:
Founder β Semua akses
Owner β Hampir semua
CEO β Management
Tangan Kanan β Management tertentu
Partner β Fitur partner
Moderator β Moderasi
Reseller β Account management tertentu
Member β Fitur dasar
---
26. COOLDOWN
Default cooldown:
Member = 100 detik
Moderator = 90 detik
Reseller = 80 detik
Partner = 70 detik
Tangan Kanan = 60 detik
CEO = 50 detik
Owner = 40 detik
Founder = 0 detik
Cooldown hanya diterapkan pada command yang memang membutuhkan cooldown.
Jangan memberikan cooldown pada:
.ping
.info
.help
---
27. ERROR HANDLER
Semua plugin harus menggunakan error handling.
Contoh:
β Terjadi kesalahan.
Command : .command
Error : {ERROR}
via @{BOT_USERNAME}
Error tidak boleh membuat seluruh UBot mati.
Gunakan:
try {
// command
} catch (error) {
// handler
}
dan global handlers untuk error yang tidak tertangani.
---
28. PERFORMANCE
Sistem harus:
- Async/await
- Tidak blocking event loop
- Tidak membuat infinite loop
- Tidak membuat request tanpa batas
- Membersihkan temporary files
- Menghindari memory leak
- Menutup stream/file descriptor
- Menangani reconnect Telegram
- Menangani FloodWait
- Menangani network timeout
---
29. TEMP FILE
Semua file sementara disimpan di:
tmp/
Buat otomatis jika belum ada.
Setelah command selesai:
download
β
process
β
send
β
delete temporary file
Jangan meninggalkan file sampah.
---
30. DATABASE
Gunakan SQLite.
Database minimal menyimpan:
accounts
sessions
settings
roles
blacklist
warnings
broadcasts
Setiap account mempunyai konfigurasi sendiri.
---
31. OFFICIAL BOT INLINE UI
Official Bot juga harus menggunakan inline keyboard.
Menu:
ββ¦Ώ CONTROL PANEL
β Status : Online
β Accounts : {COUNT}
ββ¦Ώ
Buttons:
[ β CONNECT ACCOUNT ]
[ π€ MY ACCOUNTS ]
[ βΆοΈ START ]
[ βΉοΈ STOP ]
[ π RESTART ]
[ π STATUS ]
[ βοΈ SETTINGS ]
---
32. ACCOUNT MANAGEMENT
Jika user memilih:
π€ MY ACCOUNTS
Tampilkan:
Account A
π’ Online
Account B
π΄ Offline
Account C
π‘ Connecting
Setiap account mempunyai tombol:
[ START ]
[ STOP ]
[ RESTART ]
[ INFO ]
[ DELETE ]
---
33. INLINE CALLBACK
Gunakan callback data yang terstruktur.
Contoh:
menu_main
menu_admin
menu_downloader
menu_search
menu_ai
menu_broadcast
menu_maker
menu_settings
account_list
account_info:{id}
account_start:{id}
account_stop:{id}
account_restart:{id}
back_main
Validasi callback sebelum menjalankan action.
---
34. BOT USERNAME
Official Bot username harus diambil otomatis.
Contoh:
const botUsername = bot.botInfo.username;
Kemudian digunakan:
via @{botUsername}
Semua response UBot harus menggunakan username dinamis tersebut.
Jika username:
@ExampleBot
maka:
via @ExampleBot
Jika username berubah menjadi:
@ExampleOfficialBot
maka response otomatis:
via @ExampleOfficialBot
Jangan hardcode.
---
35. TAMPILAN FINAL COMMAND
Contoh ".ping":
ββ¦Ώ SYSTEM
β Status : Online
β Speed : 32ms
β Runtime : 1h 24m
ββ¦Ώ
Pong!
via @ExampleBot
Contoh ".info":
ββ¦Ώ BOT INFO
β Name : Example Bot
β Username : @ExampleBot
β Version : 1.0.0
β Language : JavaScript
β Platform : Linux
ββ¦Ώ
ββ¦Ώ SYSTEM
β Status : Online
β Runtime : 1h 24m
β Speed : 32ms
β Memory : 126 MB
ββ¦Ώ
via @ExampleBot
---
36. UI HARUS KONSISTEN
Gunakan style:
ββ¦Ώ TITLE
β Information
β Information
β Information
ββ¦Ώ
Jangan menggunakan desain yang berbeda-beda antar plugin.
[ π SEARCH ] [ π€ AI ]
[ π’ BROADCAST ] [ πΌοΈ MAKER ]
[ βοΈ SETTINGS ] [ βΉοΈ INFO ]
Ketika tombol ditekan, edit message yang sama menggunakan callback query.
Jangan mengirim message baru setiap kali tombol ditekan jika tidak diperlukan.
---
10. TOMBOL BACK
Setiap submenu wajib memiliki:
[ βοΈ BACK ]
Flow:
MENU
β
MAKER
β
STICKER
β
BACK
β
MENU
Gunakan callback query.
Jangan membuat message menumpuk.
---
11. MENU UTAMA
Menu utama:
ββ¦Ώ BOT INFO
β Name : {BOT_NAME}
β Username : @{BOT_USERNAME}
β Version : {VERSION}
β Fitur : {TOTAL_FEATURE}
β Developer : {DEVELOPER}
ββ¦Ώ
ββ¦Ώ SYSTEM
β Status : {STATUS}
β Runtime : {RUNTIME}
β Speed : {PING}ms
β Memory : {MEMORY}
β Language : JavaScript
ββ¦Ώ
via @{BOT_USERNAME}
Inline keyboard:
[ π₯ ADMIN GRUP ] [ π₯ DOWNLOADER ]
[ π SEARCH ] [ π€ AI ]
[ π’ BROADCAST ] [ πΌοΈ MAKER ]
[ βοΈ SETTINGS ] [ βΉοΈ INFO ]
---
12. ADMIN GRUP
Menu:
π₯ ADMIN GRUP
Command:
.ban
.unban
.mute
.unmute
.kick
.warn
.delwarn
.pin
.delpin
.antilink
Contoh:
.ban
Gunakan reply message atau user identifier.
Inline submenu:
[ π¨ BAN ]
[ π UNBAN ]
[ π MUTE ]
[ π UNMUTE ]
[ π’ KICK ]
[ β οΈ WARN ]
[ π PIN ]
[ π DEL PIN ]
[ π ANTILINK ]
[ βοΈ BACK ]
---
13. MAKER
Menu:
πΌοΈ MAKER
Command:
.s
.qc
.iqc
.brat
.s
Reply gambar/video:
.s
Bot mengubah media menjadi Telegram sticker.
.qc
Membuat quote chat bubble berbentuk sticker.
.iqc
Membuat quote dengan style iPhone.
.brat
Contoh:
.brat halo dunia
Output:
- Background putih
- Text hitam
- Style brat
- Output sticker
Inline menu:
[ πΌοΈ STICKER ]
[ π¬ QC ] [ π± IQC ]
[ π BRAT ]
[ βοΈ BACK ]
---
14. MEDIA TOOLS
Command:
.hd
.hdvid
.removebg
.hd
Reply gambar lalu upscale.
.hdvid
Reply video lalu upscale.
.removebg
Reply gambar lalu menghapus background.
Output:
PNG
Jika API diperlukan, buat provider abstraction.
Jangan menaruh API key tambahan di "config.js" kecuali memang benar-benar diperlukan.
---
15. DOWNLOADER
Menu:
π₯ DOWNLOADER
Minimal:
.tt
.ig
.play
Contoh:
.tt https://...
atau:
.ig https://...
Bot mengambil media kemudian mengirimkannya ke Telegram.
Jika downloader gagal:
β Gagal mengambil media.
Alasan:
{ERROR}
via @{BOT_USERNAME}
---
16. SEARCH
Menu:
π SEARCH
Command:
.google
.pins
Contoh:
.google JavaScript tutorial
dan:
.pins anime wallpaper
Tampilkan hasil secara rapi.
---
17. AI
Command:
.ai
Prioritaskan provider yang tidak membutuhkan API key tambahan jika tersedia.
Gunakan abstraction:
AI Provider
βββ Provider A
βββ Provider B
βββ Fallback
Jika provider pertama gagal, coba provider berikutnya.
Jangan membuat sistem crash hanya karena AI provider gagal.
---
18. BROADCAST
Command utama:
.bc
Support:
Reply
User reply sebuah pesan:
.bc
Bot mengambil message tersebut.
Text
.bc Halo semuanya
Setelah command dijalankan, tampilkan:
ββ¦Ώ BROADCAST
β Message : Ready
β Target : -
β Status : Waiting
ββ¦Ώ
Inline:
[ π€ USER ]
[ π₯ GROUP ]
[ π’ CHANNEL ]
[ β CANCEL ]
---
19. BROADCAST BLACKLIST
Command:
.bl add
.bl del
.bl list
Blacklist harus mencegah target tertentu menerima broadcast.
Contoh:
.bl add 123456789
Simpan blacklist ke SQLite.
---
20. BROADCAST SAFETY
Broadcast harus memiliki:
- Delay
- Rate limit
- FloodWait handling
- Retry
- Exponential backoff
- Progress counter
- Cancel button
- Error counter
- Success counter
Contoh:
ββ¦Ώ BROADCAST
β Target : GROUP
β Progress : 125/500
β Success : 119
β Failed : 6
β Status : Sending...
ββ¦Ώ
[ β CANCEL ]
Jika Telegram memberikan FloodWait, tunggu sesuai waktu yang diberikan.
Jangan spam request secara paralel tanpa batas.
---
21. INFO COMMAND
Command:
.info
Output:
ββ¦Ώ BOT INFO
β Name : {BOT_NAME}
β Username : @{BOT_USERNAME}
β Version : {VERSION}
β Language : JavaScript
β Platform : Linux
ββ¦Ώ
ββ¦Ώ SYSTEM
β Status : Online
β Runtime : {RUNTIME}
β Speed : {PING}ms
β Memory : {MEMORY}
ββ¦Ώ
via @{BOT_USERNAME}
---
22. PING
Command:
.ping
Output:
ββ¦Ώ PONG
β Speed : 42ms
β Status : Online
ββ¦Ώ
via @{BOT_USERNAME}
---
23. HELP
Command:
.help
`PromptUbot
Buat sebuah sistem Telegram UBot/Userbot berbasis Node.js yang berjalan di Linux/Pterodactyl Panel.
Jangan membuat sistem WhatsApp/Baileys. Sistem ini khusus Telegram.
---
1. KONSEP SISTEM
Sistem terdiri dari dua bagian:
A. Official Telegram Bot
Bot resmi digunakan sebagai Control Panel untuk:
- Menghubungkan akun Telegram user
- Login akun UBot
- Mengelola session
- Melihat status akun
- Start UBot
- Stop UBot
- Restart UBot
- Melihat informasi akun
- Pengaturan prefix
- Pengaturan UBot
- Mengelola beberapa akun
Official Bot tidak menjalankan command UBot secara langsung.
B. Telegram UBot
UBot berjalan menggunakan akun Telegram yang sudah terhubung melalui Official Bot.
Contoh:
User Telegram
β
βΌ
Official Bot
β
βββ Login Account
βββ Session Manager
βββ UBot Manager
β
βΌ
Telegram UBot
---
2. PLATFORM
Gunakan:
- Node.js
- Linux
- Pterodactyl Panel
- SQLite
- Telegram MTProto client untuk Userbot
- Telegram Bot API untuk Official Bot
Sistem harus dapat dijalankan dengan:
npm install
npm start
Tidak boleh membutuhkan:
- Docker manual
- sudo
- root
- systemd
- PM2
---
3. CONFIG.JS
Gunakan satu file:
config.js
Jangan menggunakan ".env".
Config minimal:
module.exports = {
BOT_TOKEN: "ISI_BOT_TOKEN",
API_ID: 123456,
API_HASH: "ISI_API_HASH"
};
Jangan menyimpan credential di banyak file.
Session harus disimpan secara persistent.
---
4. STRUKTUR FOLDER
Gunakan struktur modular:
ubot/
βββ index.js
βββ package.json
βββ config.js
βββ README.md
β
βββ database/
β βββ database.js
β
βββ bot/
β βββ index.js
β βββ menu.js
β βββ callbacks.js
β βββ account.js
β
βββ ubot/
β βββ manager.js
β βββ client.js
β βββ dispatcher.js
β βββ commands/
β βββ help.js
β βββ ping.js
β βββ info.js
β βββ settings.js
β βββ group.js
β βββ sticker.js
β βββ downloader.js
β βββ search.js
β βββ ai.js
β βββ broadcast.js
β
βββ sessions/
β
βββ logs/
Folder "sessions/" dan "logs/" dibuat otomatis jika belum ada.
---
5. MULTI ACCOUNT
Sistem wajib mendukung banyak akun.
Contoh:
Account 1
Account 2
Account 3
Account 4
Setiap akun mempunyai session sendiri.
Contoh:
sessions/
βββ account_1.session
βββ account_2.session
βββ account_3.session
Jika satu akun mengalami error, akun lainnya tidak boleh ikut mati.
Gunakan isolated client manager.
---
6. LOGIN ACCOUNT
Gunakan login Telegram yang benar.
Flow:
Official Bot
β
Tambah Account
β
Masukkan nomor Telegram
β
Kirim OTP
β
Masukkan OTP
β
Jika 2FA aktif
β
Masukkan password 2FA
β
Session berhasil dibuat
PENTING:
- OTP harus benar-benar divalidasi.
- Jangan pernah menganggap akun berhasil login hanya karena user memasukkan angka.
- Jangan membuat fake verification.
- Jika OTP salah β tampilkan error.
- Jika OTP expired β minta OTP baru.
- Jika 2FA aktif β minta password 2FA.
- Setelah login berhasil β simpan session.
- Setelah restart server β session tetap bisa digunakan.
---
7. USERBOT COMMAND SYSTEM
Default prefix:
.
Contoh:
.ping
.info
.help
Prefix dapat dikonfigurasi per akun.
Command dispatcher harus:
1. Membaca message
2. Mengecek prefix
3. Parsing command
4. Parsing argument
5. Mengecek permission
6. Menjalankan plugin
7. Mengirim response
8. Menangani error
---
8. FORMAT RESPONSE UBOT
Semua response UBot harus mempunyai identitas bot.
Gunakan format:
ββ¦Ώ UBOT
β Bot : {BOT_NAME}
β User : {USER_NAME}
β Status : Online
ββ¦Ώ
{HASIL COMMAND}
via @{BOT_USERNAME}
Contoh:
ββ¦Ώ SYSTEM
β Status : Online
β Runtime : 2h 31m
β Speed : 42ms
β Memory : 128 MB
ββ¦Ώ
Pong! 42ms
via @MyBot
"@MyBot" harus diambil otomatis dari username Official Bot.
Jangan hardcode username.
Jika username bot berubah, tampilan otomatis mengikuti username terbaru.
---
9. INLINE KEYBOARD
Gunakan Telegram Inline Keyboard pada menu.
Contoh:
ββ¦Ώ UBOT MENU
β Name : My UBot
β Version : 1.0.0
β Status : Online
β Prefix : .
ββ¦Ώ
Silakan pilih menu:
Inline keyboard:
[ π₯ ADMIN GRUP ] [ π₯ DOWNLOADER ]