问题描述
我正在使用 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 得到了正确答案。