【问题标题】:Get CHAT_WRITE_FORBIDDEN using MadelineProto with Telegram API使用 MadelineProto 和 Telegram API 获取 CHAT_WRITE_FORBIDDEN
【发布时间】:2021-07-10 06:25:12
【问题描述】:

我正在使用 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' => ''
        ]);
}

我做错了什么?

谢谢

【问题讨论】:

    标签: php api telegram mtproto


    【解决方案1】:

    问题似乎是由于传递给“通道”属性的值所致。我没有传递 $update 变量,而是直接以“channel#1234567890”的形式传递了通道 id,最终得到了 Telegram 的正确答案。

    【讨论】:

      猜你喜欢
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2016-04-04
      • 2016-02-23
      • 1970-01-01
      • 2018-12-14
      • 1970-01-01
      相关资源
      最近更新 更多