diff --git a/hwe/sammo/API/Message/DeleteMessage.php b/hwe/sammo/API/Message/DeleteMessage.php new file mode 100644 index 00000000..37883f81 --- /dev/null +++ b/hwe/sammo/API/Message/DeleteMessage.php @@ -0,0 +1,40 @@ +args); + $v->rule('required', ['msgID']); + $v->rule('integer', 'msgID'); + if (!$v->validate()) { + return $v->errorStr(); + } + $this->args['msgID'] = (int)($this->args['msgID'] ?? -1); + + return null; + } + + public function getRequiredSessionMode(): int + { + return static::REQ_GAME_LOGIN; + } + + public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag) + { + $msgID = $this->args['msgID']; + + $generalID = $session->generalID; + return Message::deleteMsg($msgID, $generalID); + } +} diff --git a/hwe/ts/SammoAPI.ts b/hwe/ts/SammoAPI.ts index 757e62b5..7d9f5e22 100644 --- a/hwe/ts/SammoAPI.ts +++ b/hwe/ts/SammoAPI.ts @@ -172,6 +172,9 @@ const apiRealPath = { }, InheritLogResponse> }, Message: { + DeleteMessage: PATCH as APICallT<{ + msgID: number, + }>, GetContactList: GET as APICallT, GetRecentMessage: GET as APICallT<{ sequence?: number;