value; } if(isset($parameters['caption_entities']) && is_array($parameters['caption_entities'])) { $entities = []; foreach($parameters['caption_entities'] as $entity) { if($entity instanceof MessageEntity) { $entities[] = $entity->toArray(); } else { $entities[] = $entity; } } $parameters['caption_entities'] = $entities; } if(isset($parameters['reply_parameters']) && $parameters['reply_parameters'] instanceof ReplyParameters) { $parameters['reply_parameters'] = $parameters['reply_parameters']->toArray(); } if (isset($parameters['reply_markup'])) { if ($parameters['reply_markup'] instanceof ObjectTypeInterface) { $parameters['reply_markup'] = json_encode($parameters['reply_markup']->toArray()); } elseif (is_array($parameters['reply_markup'])) { $parameters['reply_markup'] = json_encode($parameters['reply_markup']); } } return MessageId::fromArray(self::executeCurl(self::buildPost($bot, Methods::COPY_MESSAGE->value, $parameters))); } /** * @inheritDoc */ public static function getRequiredParameters(): ?array { return [ 'chat_id', 'from_chat_id', 'message_id' ]; } /** * @inheritDoc */ public static function getOptionalParameters(): ?array { return [ 'message_thread_id', 'caption', 'parse_mode', 'caption_entities', 'show_caption_above_media', 'disable_notification', 'protect_content', 'reply_parameters', 'reply_markup' ]; } }