پرش به مطلب اصلی

کلاس Client – هسته اصلی کتابخانه Rubika

کلاس Client نقطه شروع و هسته مرکزی برای ساخت ربات یا کلاینت در کتابخانه Rubika است. این کلاس با ترکیب ماژول‌های Network، Methods، SessionManager و سیستم هندلینگ رویدادها، یک ساختار قدرتمند و منعطف برای تعامل با API روبیکا فراهم می‌کند.

ساختار کلی​

class Client extends Methods {
// Properties & Methods
}

ورودی سازنده​

constructor(
private session: SessionType,
config: {
application?: "Shad" | "Rubika";
platform?: "Web" | "Android";
timeout?: number;
logLevel?: LogLevel;
}
)
  • session: توکن یا رشته نشست برای احراز هویت در روبیکا
  • platform: پلتفرم کلاینت (مثلاً Web, Android)
  • application: نام برنامه (مثلاً Shad, Rubika)
  • timeout: زمان انتظار برای درخواست‌های شبکه (میلی‌ثانیه)

ویژگی‌ها و اجزای اصلی کلاس​

ویژگینوعتوضیح
initializebooleanوضعیت اولیه‌سازی کلاینت (پیش‌فرض: false)
keyBuffer | undefinedکلید عمومی برای رمزنگاری ارتباطات
privateKeystring | undefinedکلید خصوصی کاربر
auth / decode_authstring | undefinedتوکن‌های احراز هویت رمزنگاری شده
sessionDbSessionManagerمدیریت ذخیره و بازیابی نشست‌ها
networkNetworkمدیریت درخواست‌های HTTP و WebSocket
pluginsRubPlugin[]لیست پلاگین‌های فعال شده
errorMiddlewaresErrorMiddleware[]میان‌افزارهای مدیریت خطا
userGuidstring | undefinedشناسه یکتای کاربر در روبیکا
handlersContextMapثبت‌کننده هندلرهای رویدادها (message, chat, error, ...)
loggerLogger<Client>سیستم لاگ‌گیری هوشمند با پشتیبانی از middleware

وظایف کلاس​

1. ارتباط با API روبیکا​

کلاس network برای ارسال درخواست به API ربات‌ها استفاده می‌شود. مانند دریافت پیام، پاسخ‌دهی، و مدیریت فایل‌ها.

2. سیستم رویدادها (Handler)​

هر نوع پیام، مانند message, chat, error, activities, notifications ، می‌تواند مجموعه‌ای از هندلرها داشته باشد که با دریافت پیام یا ارور اجرا می‌شوند.


نتیجه‌گیری​

کلاس Bot یکی از ارکان اصلی Rubika است و پایه‌ای برای ساخت ربات‌های پیشرفته روی پلتفرم روبیکا فراهم می‌کند. با استفاده از این کلاس، توسعه‌دهنده‌ها می‌توانند سریعاً یک ربات با قابلیت‌های مختلف ایجاد کنند.