diff --git a/src/TelegramDriver.php b/src/TelegramDriver.php index 72dbf2e..0fdccfd 100644 --- a/src/TelegramDriver.php +++ b/src/TelegramDriver.php @@ -565,10 +565,13 @@ public function buildServicePayload($message, $matchingMessage, $additionalParam $this->endpoint = 'sendMessage'; $recipient = $matchingMessage->getRecipient() === '' ? $matchingMessage->getSender() : $matchingMessage->getRecipient(); + $messageThreadId = isset($matchingMessage->getPayload()['is_topic_message']) && $matchingMessage->getPayload()['is_topic_message'] === true + ? $matchingMessage->getPayload()['message_thread_id'] + : null; $defaultAdditionalParameters = $this->config->get('default_additional_parameters', []); $parameters = array_merge_recursive([ 'chat_id' => $recipient, - 'message_thread_id' => $matchingMessage->getPayload()['message_thread_id'] ?? null, + 'message_thread_id' => $messageThreadId, ], $additionalParameters + $defaultAdditionalParameters); /* @@ -666,7 +669,9 @@ public function sendRequest($endpoint, array $parameters, IncomingMessage $match { $parameters = array_replace_recursive([ 'chat_id' => $matchingMessage->getRecipient(), - 'message_thread_id' => $matchingMessage->getPayload()['message_thread_id'] ?? null, + 'message_thread_id' => isset($matchingMessage->getPayload()['is_topic_message']) && $matchingMessage->getPayload()['is_topic_message'] === true + ? $matchingMessage->getPayload()['message_thread_id'] + : null, ], $parameters); if ($this->config->get('throw_http_exceptions')) {