@server048/toolkit-sdk
v1.0.1
Published
SDK untuk mengontrol API bot Growtopia, menyediakan fungsi-fungsi untuk mengelola interaksi dan operasi bot secara efisien
Maintainers
Readme
@server048/toolkit-sdk
SDK terstruktur dan mudah digunakan untuk mengontrol API bot Growtopia, dengan dukungan lengkap untuk mengelola interaksi permainan, operasi sistem, dan integrasi dengan layanan terkait secara efisien dan aman.
📋 Persyaratan Sistem
Pastikan lingkungan Anda memenuhi persyaratan berikut sebelum menginstal paket:
- Node.js: Versi 18.0.0 atau lebih baru Cek versi Node.js dengan perintah: bash
node -v
- npm: Versi 8.0.0 atau lebih baru Cek versi npm dengan perintah: bash
npm -v
🚀 Instalasi
Pasang paket secara resmi melalui npm:
bash
npm install @server048/toolkit-sdk
Untuk penggunaan dalam proyek yang menggunakan Yarn atau PNPM:
bash
Yarn
yarn add @server048/toolkit-sdk
PNPM
pnpm add @server048/toolkit-sdk
📖 Penggunaan Dasar
Berikut contoh implementasi lengkap untuk menginisialisasi bot dan menjalankan operasi dasar:
Contoh 1: Inisialisasi Bot & Koneksi Server
javascript
import { GrowtopiaBot, BotConfig } from '@server048/toolkit-sdk';
// Konfigurasi utama bot const botConfig = { apiKey: 'GT_API_KEY_123456789', serverUrl: 'https://api.growtopia-official.com/v1', timeout: 7000, logLevel: 'info', autoReconnect: true };
// Buat instance bot baru const growtopiaBot = new GrowtopiaBot(botConfig);
// Jalankan koneksi ke server API try { await growtopiaBot.start(); console.log('[SUCCESS] Bot berhasil terhubung ke server Growtopia!'); } catch (error) { console.error('[ERROR] Gagal menghubungkan bot:', error.message); }
Contoh 2: Kirim Pesan & Ambil Data Pemain
javascript
// Kirim pesan ke dunia tertentu await growtopiaBot.sendMessage('MainWorld', 'Halo semua! Saya bot yang dibuat dengan @server048/toolkit-sdk 🚀');
// Ambil data profil pemain const playerData = await growtopiaBot.getPlayerData('PlayerX'); console.log('Data Pemain:', { nama: playerData.username, level: playerData.level, koin: playerData.coins });
// Perbarui status bot await growtopiaBot.updateStatus('Online dan siap membantu!');
📚 Referensi API Lengkap
Kelas Utama: GrowtopiaBot
Membuat dan mengelola instance bot Growtopia.
Konstruktor: new GrowtopiaBot(config)
Parameter Tipe Data Wajib? Deskripsi Nilai Default config BotConfig ✅ Ya Objek konfigurasi bot -
Interface BotConfig
Properti Tipe Data Wajib? Deskripsi apiKey string ✅ Ya Kunci autentikasi untuk mengakses API Growtopia serverUrl string ✅ Ya URL dasar server API Growtopia timeout number ❌ Tidak Waktu tunggu maksimal untuk setiap permintaan API (dalam ms) logLevel 'debug' | 'info' | 'warn' | 'error' ❌ Tidak Tingkat detail log yang ditampilkan autoReconnect boolean ❌ Tidak Otomatis mencoba menyambung kembali jika koneksi terputus maxReconnectAttempts number ❌ Tidak Jumlah maksimal percobaan sambung ulang
Metode Utama
Metode Deskripsi Parameter Nilai Kembalian start() Menjalankan koneksi bot ke server API - Promise stop() Menghentikan koneksi bot dan membersihkan sumber daya - Promise sendMessage(worldName, message) Mengirim pesan teks ke dunia permainan tertentu - worldName : string (nama dunia) - message : string (isi pesan) Promise<{ success: boolean; messageId: string }> getPlayerData(playerName) Mendapatkan data profil lengkap pemain - playerName : string (nama pengguna pemain) Promise updateStatus(statusText) Memperbarui status tampilan bot - statusText : string (teks status baru) Promise getWorldList(filter?) Mendapatkan daftar dunia yang aktif - filter : { isPublic?: boolean; minPlayers?: number } (opsional) Promise<WorldData[]>
Interface PlayerData
typescript
interface PlayerData { username: string; level: number; experience: number; coins: number; gems: number; lastOnline: Date; isOnline: boolean; }
Interface WorldData
typescript
interface WorldData { name: string; isPublic: boolean; playerCount: number; maxPlayers: number; description: string; created: Date; }
⚙️ Pengaturan Lanjutan
1. Konfigurasi Logging
Anda bisa menyesuaikan output log dengan menambahkan logger kustom:
import { GrowtopiaBot } from '@server048/toolkit-sdk';
import winston from 'winston';
// Buat logger kustom dengan Winston
const customLogger = winston.createLogger({
level: 'debug',
format: winston.format.json(),
transports: [new winston.transports.File({ filename: 'bot-logs.log' })]
});
// Inisialisasi bot dengan logger kustom
const bot = new GrowtopiaBot({
apiKey: 'YOUR_API_KEY',
serverUrl: 'YOUR_SERVER_URL',
logger: customLogger
});
2. Penanganan Event
SDK mendukung event listener untuk menangani peristiwa tertentu:
javascript
// Tangkap event ketika koneksi terputus
bot.on('disconnect', (reason) => {
console.warn(`Bot terputus: ${reason}`);
});
// Tangkap event ketika pesan berhasil terkirim
bot.on('messageSent', (messageId) => {
console.log(`Pesan berhasil dikirim dengan ID: ${messageId}`);
});
// Tangkap event ketika ada error
bot.on('error', (error) => {
console.error('Error bot:', error);
});
🧪 Pengujian
Paket dilengkapi dengan tes unit untuk memverifikasi fungsionalitas semua komponen.
Jalankan Tes Bawaan
bash
npm test
Jalankan Tes dengan Coverage Report
bash
npm run test:coverage
Laporan coverage akan tersimpan di folder coverage/ dalam format HTML.
🛠️ Kontribusi
Kontribusi sangat diterima! Ikuti langkah berikut untuk berkontribusi:
Langkah 1: Fork & Clone Repositori
bash
# Fork repositori melalui halaman GitHub, kemudian clone:
git clone https://github.com/Server048/ToolKIT-SDK.git
cd ToolKIT-SDK
Langkah 2: Siapkan Lingkungan Pengembangan
bash
# Instal semua dependensi
npm install
# Instal dependensi pengembangan
npm install --save-dev
Langkah 3: Buat Branch Fitur/Bug Fix
bash
git checkout -b fitur/nama-fitur-anda
# Atau untuk perbaikan bug:
git checkout -b fix/nama-perbaikan-anda
Langkah 4: Lakukan Perubahan & Commit
bash
# Periksa kualitas kode dengan ESLint
npm run lint
# Buat dokumentasi baru jika ada perubahan API
npm run docs
# Commit perubahan dengan pesan yang jelas
git commit -m "Fitur: Tambahkan metode getWorldList()"
Langkah 5: Push & Buat Pull Request
bash
git push origin fitur/nama-fitur-anda
Buka halaman repositori GitHub Anda dan buat Pull Request ke branch main repositori utama.
📄 Lisensi
Paket ini dilisensikan di bawah lisensi ISC. Anda bebas menggunakan, memodifikasi, dan mendistribusikan paket ini dengan syarat menyertakan informasi hak cipta dan lisensi. Lihat file LICENSE untuk detail lengkap.
📞 Dukungan & Kontak
Jika Anda mengalami masalah, memiliki pertanyaan, atau ingin berbagi ide untuk pengembangan paket:
- Laporkan Issue: GitHub Issues
- Repositori Utama: GitHub Repository
- Author: Server048 (Profil GitHub)
📊 Riwayat Versi
v1.0.0 (Tanggal Publikasi: 06 Maret 2026)
- Rilis awal paket
- Fitur utama:
- Inisialisasi bot dengan konfigurasi fleksibel
- Pengiriman pesan ke dunia permainan
- Pengambilan data profil pemain
- Manajemen status bot
- Penanganan event dan logging dasar