اگر نمیدونید میدلاینپروتو چی هست یه سر اول به اینجا بزنید.
من بدون مقدمه مثل اکثر آموزشها شروع میکنم به آموزش و ساده ترین راه ممکن برای کار با میدلاین هم میخوام آموزش بدم (البته میخواستم آموزش ویدئویی باشه ولی خوب واقعا فرصت نیست فعلا ولی آینده خواهم ساخت)؛
اما نکات مهم قبل از شروع:
نکته اول: برای کار با میدلاین باید برنامه نویسی با زبان PHP رو در حد متوسط بلد باشید و اینکه کار با سی پنل یا دایرکت ادمین هم توی تجربتون باشه (که بعید میدونم برنامه نویس سایتو... باشید و اینها رو ندونید)
نکته دوم: بهتره از یک سرور خارج از کشور که SSL داره (یعنی سایتتون با https در دسترس باشه) استفاده کنید برای تست و اجرا.
نکته سوم: اگه پولشو دارید سرور مجازی بگیرید چون عملکرد بهتری داره و آینده یه سری تنظیماتی که ممکنه نیاز بشه اونجوری بهتر میتونید روش مانور بدید چون رو همه هاستهای اشتراکی محدودیتهای در اجرای زمان کدها و یا منابع سخت افزاری هستش.
اول از همه روی سایتتون با استفاده از سی پنل یا دایرکت ادمین توی پوشه public_html حالا توی خود روت سایت یا یک پوشه مجزا یک فایل با هر اسمی که مایلید درست کنید و پسوندش هم بذارید php. من همون اسم index.php رو در نظر میگیرم.
بعد وارد آدرس گیتهاب این کتابخونه بشید؛ یعنی اینجا https://github.com/danog/MadelineProto
بعد از باز شدن (چون ممکنه آینده تغییراتی داشته باشه) اسکرول کنید تا برسید به قسمت Getting Started یک تیکه کد وجود داره به شکل زیر کامل کپی کنید و بریزید داخل فایل index.php
<?php if (!file_exists('madeline.php')) { copy('https://phar.madelineproto.xyz/madeline.php', 'madeline.php'); } include 'madeline.php'; $MadelineProto = new \danog\MadelineProto\API('session.madeline'); $MadelineProto->async(true); $MadelineProto->loop(function () use ($MadelineProto) { yield $MadelineProto->start(); $me = yield $MadelineProto->get_self(); $MadelineProto->logger($me); if (!$me['bot']) { yield $MadelineProto->messages->sendMessage(['peer' => '@danogentili', 'message' => "Hi!\nThanks for creating MadelineProto! <3"]); yield $MadelineProto->channels->joinChannel(['channel' => '@MadelineProto']); try { yield $MadelineProto->messages->importChatInvite(['hash' => 'https://t.me/joinchat/Bgrajz6K-aJKu0IpGsLpBg']); } catch (\danog\MadelineProto\RPCErrorException $e) { $MadelineProto->logger($e); } yield $MadelineProto->messages->sendMessage(['peer' => 'https://t.me/joinchat/Bgrajz6K-aJKu0IpGsLpBg', 'message' => 'Testing MadelineProto!']); } yield $MadelineProto->echo('OK, done!'); });
کد فعلی اینه و ممکنه آینده عوض بشه پس همیشه از گیتهاب کدها رو بردارید؛ ولی فعلا من این رو توضیح خواهم داد چون مطابق آخرین تغییرات تا الانه.
حالا صفحتون رو ذخیره بکنید؛ بعد از ذخیره باید این صفحه از طریق مرورگر و آدرس سایتی که دارید و اونجا فایل ذخیره شده در دسترس باشه
اگه فرض بگیرید سایتتون اینه https://mySite.ir و برای میدلاین یک پوشه به اسم madeline دارید آدرس رو به این شکل توی مرورگرتون باز کنید
mySite.ir/madeline/
اجرای اولیه چون میخواد فایل madeline.php رو کپی کنه رو سروتون ممکنه چند ثانیه یا چند دقیقه طول بکشه، پس صبر کنید تا صفحه زیر رو ببینید:
اینجا ازتون میخواد که نوع لاگین شدن اکانتتون توسط میدلاین رو مشخص کنید؛ اتوماتیک داره و دستی؛ دستی جدیدا خطا میده (حداقل برای من)، اگر کار کرد برای شما همون اتوماتیک رو انتخاب کنید که ساده تر، ولی اگر نرفت مرحله بعد manual رو انتخاب و روی Go بزنید (دقت کنید از اینجا به بعد فیلترشکن روشن کنید بهتره)
روی حالت دستی یا manually صفحه زیر میاد و ما نیاز داریم به دوتا چیز به نامهای API ID و API HASH که باید بریم توی پنلمون روی سایت تلگرام و از اونجا کپی کنیم؛ همونجوری که تو خط 1 توضیح داده و بعد وارد اون دوتا باکس بکنیم.
پس همینکار رو میکنیم و میریم به آدرس my.telegram.org .
بعد از باز کردن آدرس بالا تلگرام ازتون میخواد که شماره موبایلتون رو برای لاگین به پنلتون به صورت اینترنشنال یا بین المللی وارد کنید؛ یعنی برای ایران به این حالت +989123456789 شمارتون رو بزنید و برید مرحله بعد؛ تو این مرحله یک کد تایید کاراکتری براتون روی تلگرام شماره ای که زدید ارسال میشه (دقت کنید شماره ای که وارد میشه باید حتما قبلش باهاش توی تلگرام ثبت نام کرده باشید)
کد تایید دریافتی رو وارد کنید تا بعد صفحه زیر رو ببینید:
وارد سایت که شدید (تصویر بالا) روی گزینه API development tools کلیک کنید. بعد از کلیک صفحه بعدی ظاهر میشه:
اینجا یه جورایی به تلگرام میگید که هش آیدی رو برای چی میخواین؛ App title و Short name رو دلخواه وارد کنید؛ من اینجا نوشتم madeline proto و بعد گزینه مربوط به پلتفرم رو آخری یعنی other انتخاب کنید و توی قسمت آخر یعنی توضیحات هم بهتره بهشون بگید که برای تست میدلاین دارید این کار رو میکنید تا بعدا مشکلی پیش نیاد. این کارها رو انجام بدید و روی دکمه Create application کلیک کنید تا صفحه پایین براتون ظاهر بشه.
همونطور که میبینید اطلاعات مورد نیازتون بهتون داده میشه اینجا؛ (هیچوقت این اطلاعات رو در اختیار کسی قرار ندید چون به راحتی میتونن از اکانتتون سوء استفاده کنن). حالا اینها رو کپی کنید و اونجایی که نیاز هست جایگذاری کنید (3 مرحله بالاتر) و بعد بزنید روی دکمه Go. بعد از زدن دکمه Go ازتون میخواد که نوع لاگین شدنتون رو انتخاب کنید؛ اینجا همین گزینه User مناسبه و دوباره بزنید روی Go
مرحله بعد دوباره ازتون میخواد شماره موبایلتون رو وارد کنید؛ بازم فرمت بین المللی
شمارتون رو وارد کنید و Go بزنید تا یه کد عددی مجدد ارسال بشه روی اکانتتون توی تلگرام، اون کد رو توی صفحه زیر که عکسش رو گذاشتم وارد کنید و دوباره بزنید روی دکمه Go
بعد از وارد کردن کد و زدن دکمه یه مقداری ممکنه طول بکشه و در نهایت اگر همه چی به درستی انجام شده باشه شما پیغام OK, done!رو توی مرورگرتون میبیند و مثل عکس پایین خواهید دید که اکانتتون بدون اینکه شما متوجه شده باشید، از طرف شما به سازنده این کتابخانه پیغام تشکر فرستاده، شما بدون اینکه بخواین، عضو کانال رسمی کتابخونه میدلاین شدید و باز بدون اینکه کاری انجام داده باشید از طرف شما یه پیغام هم توی گروه مربوط به این کتابخونه بعد از عضویت ارسال کرده!!
چرا؟ چون کدهای اول آموزش (Sample مربوط به قسمت Getting Started) دقیقا برای انجام همین کارها نوشته شده؛ پس نترسید چون هک نشدید :))
خوب اینم از آموزش که امیدوارم خوشتون اومده باشه و ازش استفاده کنید. سوالی بود همینجا کامنت بذارید
توی آموزشهای بعدی تا اونجایی که بتونم چندتا از متودهای این کلاس رو معرفی میکنم تا کار کردن باهاش رو یاد بگیرید؛ مثل همین متود ارسال پیام، جوین کردن اکانتتون به کانالها و ...
اگر برنامه نویس خوبی باشید قطعا بقیه کارها رو براحتی و فقط با خوندن مستندات میتونین یاد بگیرید.
لینک صفحه مستندات (Documentation):