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

دقت کنید که این آموزشها به درد افراد مبتدی و اونایی که تجربه ای توی کدنویسی زبان PHP ندارند نمیخوره!
برای ارسال پیام همونجور که توی خود کد سمپل هم یه نمونش رو دیدین باید این متود رو با پارامترهایی که توضیحاتش بصورت واضح در داکیومنت و این آدرس وجود داره به شکل زیر صدا بزنید:
$Updates = $MadelineProto->messages->sendMessage(['no_webpage' => Bool, 'silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'message' => 'string', 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity, MessageEntity], 'parse_mode' => 'string', ]);
توی کد بالا مهمترین مقادیر مربوط میشه به پارامترهای message و peer که به ترتیب متن دلخواه و یوزرنیم یا یوزرآیدی کاربری هستش که میخواین متن ارسال بشه براش؛ پس اگه مثلا بخواین به آیدی Mohsen322 توی تلگرام پیام SALAM MOHSEN! ارسال کنید باید کدهای زیر اجرا بشه. (بقیه پارامترها اختیاری هستن و با خوندن مستندات متوجه کاربردشون میشید و به همین خاطر تو مثال پایین ذکر نشده)
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->start();
$MadelineProto->messages->sendMessage(['peer' => '@Mohsen322', 'message' => 'SALAM MOHSEN!']);
ارسال تصویر با استفاده از متود sendMedia توی میدلاین انجام میشه و یه مقداری با ارسال تصویر توی آموزشهای ربات نویسی متفاوته و توضیحش شاید سخت باشه؛ لینک توضیحاتش اینجاست و نحوه صدا زدن متودش هم به شکل زیر.
$Updates = $MadelineProto->messages->sendMedia(['silent' => Bool, 'background' => Bool, 'clear_draft' => Bool, 'peer' => InputPeer, 'reply_to_msg_id' => int, 'media' => InputMedia, 'message' => 'string', 'reply_markup' => ReplyMarkup, 'entities' => [MessageEntity, MessageEntity], 'parse_mode' => 'string', ]);
اما اگه بخواین به یه آیدی یه تصویر ارسال کنید نمونه کدش به این شکله:
اگر تصویر بیرون از سرور خودتون باشه باید آدرس کاملش رو بنویسید (نمونه 1)
$inputMediaPhotoExternal = ['_' => 'inputMediaPhotoExternal', 'url' => 'http://barkpost.com/wp-content/uploads/2015/10/2-dark-tongue-dog.jpg'];
$MadelineProto->messages->sendMedia(['peer' => '@Mohsen322', 'media' => $inputMediaPhotoExternal, 'message' => 'TEST' ]);
و اگر هم روی سرور خودتون آپلود شده باید آدرس دهی نسبی انجام بدید به صورت زیر (اینجا فایل کدها و تصویر کنار هم قرار دارن) - نمونه 2:
$inputMediaUploadedPhoto = ['_' => 'inputMediaUploadedPhoto', 'file' => 'basic_learning.jpg'];
$MadelineProto->messages->sendMedia(['peer' => '@mohsen322', 'media' => $inputMediaUploadedPhoto , 'message' => 'TEST' ]);
برای بقیه موارد مثل ارسال استیکر یا فایل (Document. zip, rar, xml...) باید برید به این آدرس و نوعهایی که پشتیبانی میکنه رو به شکل بالا آرایه مربوطهاش رو درست و توی پارامتر media جایگذاری کنید.
مثلا برای ارسال یک فایل زیپ خارج از سرور، آرایه به این شکل میشه:
$inputMediaDocumentExternal = ['_' => 'inputMediaDocumentExternal', 'url' => 'http://123.scr.ir/download.php?a=1&d=owghat_zaman_1.zip'];
البته ارسال فایلش یکجورهایی بگیر نگیر داره و خیلی وقتا کار نمیکنه! ولی مثالهای بالا تست شدن و کار میکنن. پس اگه جوابی نگرفتید نا امید نشید و هی تست کنید