توضیحات
برای اینکه با این کتابخانه کار کنیمم ابتدا باید نحوه کارکرد انرا بدانیم. هنگامی که شما یک نمونه از این کلاس یعنی 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 | نوع داده | توضیحات | پیشفرض |
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 باشد. در داخل جدول تمام این دیتا تایپ ها درج شده است.