PHP Telegram client (وتلقي الرسائل باستخدام MadelineProto)

بعد أن قررت المشاركة في نسخ عديمة الضمير (أو بالأحرى أتمتة) من المنشورات من قناة Telegram لشخص آخر إلى بلدي ، حصلت أولاً على الوثائق المتعلقة بروبوتات التلغراف. ولكن كما اتضح فيما بعد ، لا تحتوي برامج الروبوت على طرق لتلقي الرسائل فحسب ، بل لا يمكن إضافتها ببساطة إلى قناة شخص آخر.

كان الحل مطلوبًا في PHP ، وتم قضاء الساعة التالية في العثور عليه. إنه لأمر مدهش كم هو قليل من المعلومات المتاحة حول هذا الموضوع (على الرغم من أنه ليس كذلك ، فليس من المستغرب ... من يكتب هذا في PHP ...) . الكل في الكل ، الطريق من StackOverflow أدى إلى MadelineProto . هناك عدد قليل من الروابط إلى المكتبة على الشبكة.

ما هي مادلين ؟ هذا عميل Telegram في PHP يوفر طرقًا للعمل سواء نيابة عن المستخدم أو نيابة عن bot. الغرض من المقالة هو في المقام الأول تقصير مسار البحث مادلين وجذب الانتباه إليها. ومن المثير للاهتمام أيضًا أن نكتشف من Habrachians أن هناك شيئًا كهذا في YP الآخر؟

حسنًا ، بالطبع ، لنشر على سبيل المثال جزءًا من الكود الذي حل مشكلتي:

// Madeline   if (!file_exists(__DIR__ . '/madeline.php')) { copy('https://phar.madelineproto.xyz/madeline.php', __DIR__ . '/madeline.php'); } include __DIR__ . '/madeline.php'; $MadelineProto = new \danog\MadelineProto\API('session.madeline'); $MadelineProto->start(); $me = $MadelineProto->get_self(); \danog\MadelineProto\Logger::log($me); /*    */ $messages = $MadelineProto->messages->getHistory([ /*  ,  @ */ 'peer' => 'chatname', 'offset_id' => 0, 'offset_date' => 0, 'add_offset' => 0, 'limit' => 20, 'max_id' => 9999999, /* ID ,     */ 'min_id' => $lastid, ]); /* ,    ( ) */ $messages = $messages['messages']; foreach(array_reverse($messages) as $i => $message){ /*      */ $MadelineProto->messages->sendMessage([ 'peer' => 'mychatname', 'message' => $message['message'] ]); } 


Mopkob UPD: يحتوي المشروع على مجتمع نشط: pwrtelegramgroupru الناطقة باللغة الروسية و pwrtelegramgroup الدولية.

Source: https://habr.com/ru/post/ar433268/


All Articles