微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 MadelineProto 和 Telegram API 获取 CHAT_WRITE_FORBIDDEN

如何解决使用 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 得到了正确答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。