Главная » Хабрахабр » Репост со стороннего Telegram-канала (PHP MadelineProto)

Репост со стороннего Telegram-канала (PHP MadelineProto)

Решив заняться бессовестным копипастом (а точнее его автоматизацией) постов с чужого Telegram-канала в свой, я первым делом полез в документацию по телеграм-ботам. Но как выяснилось, боты не только не имеют методов для получения сообщений, их просто-напросто нельзя добавить в чужой канал.

Удивительно, как об этом мало информации (хотя нет, не удивительно… кто вообще пишет такое на PHP...). Решение нужно было на PHP и следующий час был потрачен на его поиск. На библиотеку довольно мало ссылок в сети. В общем, дорога со StackOverflow привела к MadelineProto.

Это Telegram-клиент на PHP, предоставляющий методы для работы как от имени пользователя, так и от имени бота. Что такое Madeline? Также интересно узнать у хабравчан что есть подобное на других ЯП? Цель статьи — в первую очередь сократить путь поиска Madeline и привлечь к нему внимание.

Ну и разумеется, опубликовать для примера кусочек кода, который решил мою задачу:

//Подключение 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'] ]);
}


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Из песочницы] Haiku β1 — сделаем /b/ OS великой снова

Совсем недавно (почти 4 месяца назад) вышла новая Haiku (далее — просто BeOS, ибо проект гораздо удачнее ReactOS — настолько, что разница между Haiku и BeOS уже пренебрежимо мала). Да и недавно прочитанный киберпанк-роман Александра Чубарьяна давал понять, что BeOS ...

Минкомсвязи одобрило законопроект об изоляции рунета

Министерство цифрового развития, связи и массовых коммуникаций РФ поддержало законопроект №608767-7 об автономной работе рунета, внесённый в Госдуму 14 декабря 2018 года. Об этом сегодня сообщил замглавы Минкомсвязи Олег Иванов в ходе расширенного заседания комитета Госдумы по информационной политике, информационным технологиям ...