MadelineProto: channels.editBanned не работает (Telegram API)

141
27 октября 2021, 05:30

Использую 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 работает без проблем.

Кто-нибудь с таким сталкивался?

Answer 1

У меня похожая ситуация только на zerobias/telegram-mtproto. А вообще из документации все флаги инверсны. То есть если нужно забанить тогда указать True

READ ALSO
Как работает sqrt в java и не только?

Как работает sqrt в java и не только?

Стало интересно как работают некоторые ф-ииПри нажатии ctrl + клик по Math

112
Java Зависает процесс

Java Зависает процесс

Разбирался в Javalang

192
Уровень изоляции транзакций и Hibernate

Уровень изоляции транзакций и Hibernate

Первый вопросКакая связь существует между уровнем изоляции транзакций, параметрами JPA Lock

116