Example #1
0
 /**
  * @param PostedMessage|Message $message
  * @param string $text
  * @param int $flags
  * @return Promise
  */
 public function editMessage($message, string $text, int $flags = PostFlags::NONE) : Promise
 {
     $text = $this->applyPostFlagsToText($text, $flags);
     $body = (new FormBody())->addField("text", $text)->addField("fkey", (string) $message->getRoom()->getSession()->getFKey());
     $url = $this->urlResolver->getEndpointURL($message->getRoom(), ChatRoomEndpoint::CHATROOM_EDIT_MESSAGE, $message->getId());
     $request = (new HttpRequest())->setUri($url)->setMethod("POST")->setBody($body);
     $action = $this->actionFactory->createEditMessageAction($request, $message->getRoom());
     return $this->actionExecutor->enqueue($action);
 }