mirror of
https://github.com/BushlanovDev/max-bot-api-client-php.git
synced 2026-10-07 20:39:34 +00:00
Allow comment_removed without post_id
The schema lists post_id as required, but the official TypeScript client types it as `string | null`. A null would fail with a TypeError and, unlike an unknown update type, TypeError is not caught while parsing updates.
This commit is contained in:
@@ -17,14 +17,14 @@ final readonly class CommentRemovedUpdate extends AbstractUpdate
|
||||
* @param string $messageId Identifier of the removed comment.
|
||||
* @param int $chatId Chat identifier where the comment has been deleted.
|
||||
* @param int $userId User who deleted this comment.
|
||||
* @param string $postId Identifier of the commented post.
|
||||
* @param string|null $postId Identifier of the commented post.
|
||||
*/
|
||||
public function __construct(
|
||||
int $timestamp,
|
||||
public string $messageId,
|
||||
public int $chatId,
|
||||
public int $userId,
|
||||
public string $postId,
|
||||
public ?string $postId,
|
||||
) {
|
||||
parent::__construct(UpdateType::CommentRemoved, $timestamp);
|
||||
}
|
||||
|
||||
@@ -31,4 +31,20 @@ final class CommentRemovedUpdateTest extends TestCase
|
||||
$this->assertSame(42, $update->userId);
|
||||
$this->assertSame('mid.post', $update->postId);
|
||||
}
|
||||
|
||||
#[Test]
|
||||
public function postIdMayBeNull(): void
|
||||
{
|
||||
// The official TypeScript client types post_id as `string | null`
|
||||
$update = CommentRemovedUpdate::fromArray([
|
||||
'update_type' => UpdateType::CommentRemoved->value,
|
||||
'timestamp' => 1678886400000,
|
||||
'message_id' => 'mid.comment',
|
||||
'chat_id' => -100,
|
||||
'user_id' => 42,
|
||||
'post_id' => null,
|
||||
]);
|
||||
|
||||
$this->assertNull($update->postId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user