Использую MadelineProto для взаимодействия с Telegram API. Нужно забанить/выкинуть пользователя из приватного канала – для этого есть метод channels.editBanned.
Но по какой-то причине все время возращает пустой updates и users, соответственного никого из канала не удаляет.
Id указываю в формате channel#id и user#id в соответствии с документацией.
Banned rights: ['_' => 'chatBannedRights', 'until_date' => 0]
Код:
//Подключение 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);
try {
//Get user id by phone
$inputPhoneContact = ['_' => 'inputPhoneContact', 'client_id' => '0', 'phone' => '+XXXXXXXXXXXX', 'first_name' => 'Name', 'last_name' => ''];
$importedContact = $MadelineProto->contacts->importContacts(['contacts' => [$inputPhoneContact], ]);
//Channel
$inputChannel = "channel#XXXXXXXX";
//Input User
$inputUser = 'user#'.$importedContact['imported'][0]['user_id'];
//Add user to channel
$Updates = $MadelineProto->channels->inviteToChannel(['channel' => $inputChannel, 'users' => [$inputUser],]);
//Chat Banned Rights
$chatBannedRights = ['_' => 'chatBannedRights', 'view_messages' => false, 'send_messages' => false, 'send_media' => false, 'send_stickers' => false, 'send_gifs' => false, 'send_games' => false, 'send_inline' => false, 'embed_links' => false, 'send_polls' => false, 'change_info' => false, 'invite_users' => false, 'pin_messages' => false, 'until_date' => '0'];
//Kick user from channel
$Updates = $MadelineProto->channels->editBanned(['channel' => $inputChannel, 'user_id' => $inputUser, 'banned_rights' => ['_' => 'chatBannedRights', 'until_date' => 0], ]);
} catch (Exception $e) {
echo $e->getMessage();
}
К слову, channels.inviteToChannel работает без проблем.
Кто-нибудь с таким сталкивался?
У меня похожая ситуация только на zerobias/telegram-mtproto. А вообще из документации все флаги инверсны. То есть если нужно забанить тогда указать True
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Стало интересно как работают некоторые ф-ииПри нажатии ctrl + клик по Math
Первый вопросКакая связь существует между уровнем изоляции транзакций, параметрами JPA Lock