使用 MadelineProto 和 Telegram API 获取 CHAT_WRITE_FORBIDDEN

问题描述

我正在使用 MadelineProto 项目进行 PHP 与 Telegram API 交互。 也许这个错误与 MadelineProto 无关......无论如何,我成功创建了一个超级组,但是我调用的任何其他方法都会给我一个 CHAT_WRITE_FORBIDDEN 错误。 在 Telegram 文档中找不到任何关于我收到此错误的原因以及如何解决的信息。

这是我的代码

$MadelineProto = new MadelineProtoAPI('session.madeline',$settings);
$MadelineProto->async(false);
$MadelineProto->start();

// successfully create the group
$updates = $MadelineProto->channels->createChannel([
        'megagroup' => true,'title' => 'Test group','about' => 'Test group description',]);
foreach($updates as $update) {

        // try to invite other users --> CHAT_WRITE_FORBIDDEN
        $updates = $MadelineProto->channels->invitetochannel([
            'channel' => $update,'users' => ['@#######']
        ]);

        // try to change admin rights --> CHAT_WRITE_FORBIDDEN
        $updates = $MadelineProto->channels->editAdmin([
            'channel' => $update,'user_id' => '@#######','admin_rights' => [
                '_' => 'chatAdminRights','change_info' => true,'post_messages' => true,'edit_messages' => true,'delete_messages' => true,'ban_users' => true,'invite_users' => true,'pin_messages' => true,'add_admins' => true,'anonymous' => true,],'rank' => ''
        ]);
}

我做错了什么?

谢谢

解决方法

问题似乎是由于传递给 'channel' 属性的值造成的。我没有传递 $update 变量,而是直接以“channel#1234567890”的形式传递了频道 ID,最后从 Telegram 得到了正确答案。