logo کتابخانه روبیکا

توضیحات

برای اینکه با این کتابخانه کار کنیمم ابتدا باید نحوه کارکرد انرا بدانیم. هنگامی که شما یک نمونه از این کلاس یعنی MainSettings را به کلاس Main پاس میدهید این تنظیمات علاوه بر کلاس اصلی در تمام کلاس های دیگر مانند Sessions یا حتی Requests اعمال خواهند شد.


use  RubikaLib\Interfaces\MainSettings;

$settings = new MainSettings;

$settings->auth = '...';
$settings->Optimal = true;

$app = new Main(
    phone_number: 98912345678,
    settings: $settings
);

همچنین میتوانید از روش زنجیر کردن برای انجام این کار ها استفاده کنید تا کد ها کمتر و مرتب تر شوند.


$app = new Main(
    phone_number: 98912345678,
    settings: (new MainSettings)
                ->setAuth('...')
                ->setUserAgent('...')
                ->setOptimal(true)
);

در ادامه به موارد بیشتری اشاره میکنیم.

جدول property ها
property نوع داده توضیحات پیشفرض
tmp_session string این تنها به عنوان پارامتر tmp_session ارسال خواهد شد و بعدا با auth که از api دریافت میشود جایگذین خواهد شد. به صورت پیش فرض ایجاد میشود است
UserAgent string هنگامی که کتابخانه در حال انجام عملیات ورود به حساب است از این useragent استفاده خواهد کرد و در مراحل بعدی حتی اگر تغییر دهید باز هم از همان useragent که در ابتدا تنظیم و در نشست ذخیره شده است استفاده خواهد شد. به صورت پیش فرض ایجاد میشود
Optimal bool این برای کاهش مصرف منابع است. true
Base string این پراپرتی پوشه workDir را مشخص میکند. توصیه میشود که به هنگام تغییر آن احتیاط کنید زیرا کتابخانه تنها در پوشه ای که تنظیم میشود به دنبال فایل های سشن میگردد. lib/
AppType AppType این مشخص میکند که دقیقا کتابخانه با کدام API قرار است کار کند. AppType::Rubika
ShowProgresses bool در صورت فعال بودن گزارش کار هایی که کتابخانه در حال انجام دادن است را پرینت میکند. false
KeepUpdated bool در صورتی که فعال باشد تمام فایل های شسن را خودکار بررسی میکند تا سالم باشند. همچنین در صورتی که نسخه جدیدی از کتابخانه موجود بود شما را مطلع میکند.
در صورتی که از سرعت اینترنت یا سرعت پردازش مطمعن نیستید پیشنهاد نمیشود!
true

برای کمتر کردن خطا ها بهتر است این قسمت را هم مطالعه کنید.
برای تنظیم هر یک از این پراپرتی ها یک نمونه از کلاس MainSettings را ایجاد کنید و پس از اعمل تغییرات انرا به Main تحویل دهید.


$settings->UserAgent = '...';
$app = new Main(
    settings: $settings
);

// or

$app = new Main(
    settings: (new MainSettings)
            ->setUserAgent('...')
);

نکات مهم

tmp_session همواره و تنها باید حروف انگلیسی کوچک باشند بدون اعداد و هیچ چیزی باشد.

تنها موارد رشته های 32 کاراکتری از 'abcdefghijklmnopqrstuvwxyz' مورد قبول هستند.
یا اینکه با استفاده از متد زیر انرا Generate کنید:


Cryption::GenerateRandom_tmp_session();

از فایل های شسن خود بسیار محافظت کنید.

با قرار دادن یک فایل شسن که نشست فعال و بدون محدودیت دارد در پوشه workdir میتوان به آن حساب متصل شد و از آن استفاده کرد.
بنابراین باید در نگه داری از فایل شسن و محتوای آن سخت گیر باشید زیرا که با این توضیاح تنها کافیست که فایل را داشته باشند تا از حسابتان سوء استفاده کنند.
در حال حاضر تنظیماتی برای جلوگیری از این نوع موارد انجام شده است مانند اینکه hash موجود در نام فایل باید با محتوای داخل آن مطابقت داشته باشد.
اما همچنان باید بسیار مراقب باشید زیرا ما هنوز موارد زیادی ندیده ایم تا محافت های بیشتر ابتداضافه کنیم. اگر مشکلی بود:


TelegramGithub

در وارد کردن مقادیر data type هارا رعایت کنید.

برای تعدادی از پراپرتی ها نیاز بود تا دیتا تاید ها رعایت شود. برای مثال useragent حتما باید string باشد. در داخل جدول تمام این دیتا تایپ ها درج شده است.

can't display on this size of page. please use another device or use desktop mode