CASE STUDY / 20DISCORD
Onyx Bot Engine
Özel bir topluluk siparişi üzerine geliştirilmiş, yüksek performanslı ve olay güdümlü Discord bot çekirdeği.
/01
Mesele neydi?
Büyük topluluklarda komut yükleme süreçlerindeki hantallık ve veritabanı G/Ç operasyonlarındaki darboğazlar.
/02
Nasıl çözdüm?
Dinamik modül yükleyici ve hafıza dostu SQLite soyutlama katmanı ile desteklenen, olay güdümlü (Event-Driven) ölçeklenebilir çekirdek yapı.
/03
Detaylarda saklı.
4 özellik- 01Event-Driven Dinamik Modül Yükleyici
- 02Hafıza Dostu SQLite Veri Katmanı
- 03AFK ve Durum Takip Otomasyonu
- 04Merkezi Hata Yakalama ve Loglama
</>
Kodun içinden.
const Discord = require('discord.js');
const client = new Discord.Client();
const fs = require('fs');
// Dinamik Komut Yükleme
client.commands = new Discord.Collection();
fs.readdir('./komutlar/', (err, files) => {
files.forEach(f => {
let props = require(`./komutlar/${f}`);
client.commands.set(props.help.name, props);
});
});Özel freelance siparişi olarak teslim edildi; modüler yapısı sayesinde onlarca farklı bot için standart altyapı haline getirildi.