diff --git a/src/Chat/Event/Factory.php b/src/Chat/Event/Factory.php index fbc48bf..566762e 100644 --- a/src/Chat/Event/Factory.php +++ b/src/Chat/Event/Factory.php @@ -19,6 +19,7 @@ class Factory StarMessage::TYPE_ID => StarMessage::class, MentionMessage::TYPE_ID => MentionMessage::class, DeleteMessage::TYPE_ID => DeleteMessage::class, + ReplyMessage::TYPE_ID => ReplyMessage::class, ]; /** diff --git a/src/Chat/Event/ReplyMessage.php b/src/Chat/Event/ReplyMessage.php new file mode 100644 index 0000000..d6969da --- /dev/null +++ b/src/Chat/Event/ReplyMessage.php @@ -0,0 +1,31 @@ +parentId = $data['parent_id'] ?? 0; + $this->showParent = $data['show_parent'] ?? false; + } + + public function getParentId(): int + { + return $this->parentId; + } + + public function shouldShowParent(): bool + { + return $this->showParent; + } +} diff --git a/src/Chat/Message/Factory.php b/src/Chat/Message/Factory.php index 4cddc39..9282466 100644 --- a/src/Chat/Message/Factory.php +++ b/src/Chat/Message/Factory.php @@ -4,6 +4,7 @@ use Room11\Jeeves\Chat\Event\MentionMessage; use Room11\Jeeves\Chat\Event\MessageEvent; +use Room11\Jeeves\Chat\Event\ReplyMessage; class Factory { @@ -13,7 +14,7 @@ public function build(MessageEvent $event): Message return new Command($event, $event->getRoom()); } - if ($event instanceof MentionMessage) { + if ($event instanceof MentionMessage || $event instanceof ReplyMessage) { return new Conversation($event, $event->getRoom()); }