diff --git a/src/Methods/SendInvoiceMethod.php b/src/Methods/SendInvoiceMethod.php index 428f194..7178080 100644 --- a/src/Methods/SendInvoiceMethod.php +++ b/src/Methods/SendInvoiceMethod.php @@ -31,6 +31,8 @@ private function send() 'start_parameter' => 'string', 'currency' => 'string', 'prices' => [LabeledPrice::class], + 'max_tip_amount' => 'integer', + 'suggested_tip_amounts' => array('integer'), 'provider_data' => 'string', 'photo_url' => 'string', 'photo_size' => 'integer', diff --git a/src/Objects/InlineQuery.php b/src/Objects/InlineQuery.php index 8dab462..517b419 100644 --- a/src/Objects/InlineQuery.php +++ b/src/Objects/InlineQuery.php @@ -11,6 +11,7 @@ * @property User $from Sender * @property Location $location _Optional_. Sender location, only for bots that request user location * @property string $query Text of the query (up to 256 characters) + * @property string $chat_type _Optional_. Type of the chat, from which the inline query was sent. Can be either “sender” for a private chat with the inline query sender, “private”, “group”, “supergroup”, or “channel”. The chat type should be always known for requests sent from official clients and most third-party clients, unless the request was sent from a secret chat * @property string $offset Offset of the results to be returned, can be controlled by the bot */ class InlineQuery extends TelegramObject @@ -22,6 +23,7 @@ protected function relations() 'from' => User::class, 'location' => Location::class, 'query' => 'string', + 'chat_type' => 'string', 'offset' => 'string', ]; } diff --git a/src/Objects/InputMessageContent/InputInvoiceMessageContent.php b/src/Objects/InputMessageContent/InputInvoiceMessageContent.php new file mode 100644 index 0000000..8a7fcb5 --- /dev/null +++ b/src/Objects/InputMessageContent/InputInvoiceMessageContent.php @@ -0,0 +1,59 @@ + $prices Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.) + * @property Integer $max_tip_amount _Optional_. The maximum accepted amount for tips in the smallest units of the currency (integer, not float/double). For example, for a maximum tip of US$ 1.45 pass max_tip_amount = 145. See the exp parameter in currencies.json, it shows the number of digits past the decimal point for each currency (2 for the majority of currencies). Defaults to 0 + * @property Array $suggested_tip_amounts _Optional_. A JSON-serialized array of suggested amounts of tip in the smallest units of the currency (integer, not float/double). At most 4 suggested tip amounts can be specified. The suggested tip amounts must be positive, passed in a strictly increased order and must not exceed max_tip_amount. + * @property String $provider_data _Optional_. A JSON-serialized object for data about the invoice, which will be shared with the payment provider. A detailed description of the required fields should be provided by the payment provider. + * @property String $photo_url _Optional_. URL of the product photo for the invoice. Can be a photo of the goods or a marketing image for a service. People like it better when they see what they are paying for. + * @property Integer $photo_size _Optional_. Photo size + * @property Integer $photo_width _Optional_. Photo width + * @property Integer $photo_height _Optional_. Photo height + * @property Boolean $need_name _Optional_. Pass True, if you require the user's full name to complete the order + * @property Boolean $need_phone_number _Optional_. Pass True, if you require the user's phone number to complete the order + * @property Boolean $need_email _Optional_. Pass True, if you require the user's email address to complete the order + * @property Boolean $need_shipping_address _Optional_. Pass True, if you require the user's shipping address to complete the order + * @property Boolean $send_phone_number_to_provider _Optional_. Pass True, if user's phone number should be sent to provider + * @property Boolean $send_email_to_provider _Optional_. Pass True, if user's email address should be sent to provider + * @property Boolean $is_flexible _Optional_. Pass True, if the final price depends on the shipping method + */ +class InputInvoiceMessageContent extends InputMessageContent +{ + protected function relations() + { + return [ + 'title' => 'string', + 'description' => 'string', + 'payload' => 'string', + 'provider_token' => 'string', + 'currency' => 'string', + 'prices' => array(LabeledPrice::class), + 'max_tip_amount' => 'integer', + 'suggested_tip_amounts' => array('integer'), + 'provider_data' => 'string', + 'photo_url' => 'string', + 'photo_size' => 'integer', + 'photo_width' => 'integer', + 'photo_height' => 'integer', + 'need_name' => 'boolean', + 'need_phone_number' => 'boolean', + 'need_email' => 'boolean', + 'need_shipping_address' => 'boolean', + 'send_phone_number_to_provider' => 'boolean', + 'send_email_to_provider' => 'boolean', + 'is_flexible' => 'boolean', + ]; + } +} diff --git a/src/Objects/Message.php b/src/Objects/Message.php index 954e72e..d902af7 100644 --- a/src/Objects/Message.php +++ b/src/Objects/Message.php @@ -122,6 +122,7 @@ protected function relations() 'passport_data' => PassportData::class, 'proximity_alert_triggered' => ProximityAlertTriggered::class, 'voice_chat_started' => VoiceChatStarted::class, + 'voice_chat_scheduled' => VoiceChatScheduled::class, 'voice_chat_ended' => VoiceChatEnded::class, 'voice_chat_participants_invited' => VoiceChatParticipantsInvited::class, 'reply_markup' => InlineKeyboardMarkup::class, diff --git a/src/Objects/VoiceChatScheduled.php b/src/Objects/VoiceChatScheduled.php new file mode 100644 index 0000000..faa8c93 --- /dev/null +++ b/src/Objects/VoiceChatScheduled.php @@ -0,0 +1,18 @@ + 'integer' + ]; + } +}