1818# along with this program. If not, see [http://www.gnu.org/licenses/].
1919"""This module contains an object that represents a Telegram Update."""
2020
21- from telegram import (Message , TelegramObject , InlineQuery , ChosenInlineResult , CallbackQuery )
21+ from telegram import (Message , TelegramObject , InlineQuery , ChosenInlineResult ,
22+ CallbackQuery , ShippingQuery , PreCheckoutQuery )
2223
2324
2425class Update (TelegramObject ):
@@ -31,6 +32,8 @@ class Update(TelegramObject):
3132 edited_message (:class:`telegram.Message`): New version of a message that is known to the
3233 bot and was edited
3334 inline_query (:class:`telegram.InlineQuery`): New incoming inline query.
35+ shipping_query (:class:`telegram.ShippingQuery`): New incoming shipping query.
36+ pre_checkout_query (:class:`telegram.PreCheckoutQuery`): New incoming pre-checkout query.
3437 chosen_inline_result (:class:`telegram.ChosenInlineResult`): The result of an inline query
3538 that was chosen by a user and sent to their chat partner.
3639 callback_query (:class:`telegram.CallbackQuery`): New incoming callback query.
@@ -46,6 +49,8 @@ class Update(TelegramObject):
4649 inline_query (Optional[:class:`telegram.InlineQuery`]):
4750 chosen_inline_result (Optional[:class:`telegram.ChosenInlineResult`])
4851 callback_query (Optional[:class:`telegram.CallbackQuery`]):
52+ shipping_query (Optional[:class:`telegram.ShippingQuery`]):
53+ pre_checkout_query (Optional[:class:`telegram.PreCheckoutQuery`]):
4954 channel_post (Optional[:class:`telegram.Message`]):
5055 edited_channel_post (Optional[:class:`telegram.Message`]):
5156 **kwargs: Arbitrary keyword arguments.
@@ -59,6 +64,8 @@ def __init__(self,
5964 inline_query = None ,
6065 chosen_inline_result = None ,
6166 callback_query = None ,
67+ shipping_query = None ,
68+ pre_checkout_query = None ,
6269 channel_post = None ,
6370 edited_channel_post = None ,
6471 ** kwargs ):
@@ -70,6 +77,8 @@ def __init__(self,
7077 self .inline_query = inline_query
7178 self .chosen_inline_result = chosen_inline_result
7279 self .callback_query = callback_query
80+ self .shipping_query = shipping_query
81+ self .pre_checkout_query = pre_checkout_query
7382 self .channel_post = channel_post
7483 self .edited_channel_post = edited_channel_post
7584
@@ -100,6 +109,8 @@ def de_json(data, bot):
100109 data ['chosen_inline_result' ] = ChosenInlineResult .de_json (
101110 data .get ('chosen_inline_result' ), bot )
102111 data ['callback_query' ] = CallbackQuery .de_json (data .get ('callback_query' ), bot )
112+ data ['shipping_query' ] = ShippingQuery .de_json (data .get ('shipping_query' ), bot )
113+ data ['pre_checkout_query' ] = PreCheckoutQuery .de_json (data .get ('pre_checkout_query' ), bot )
103114 data ['channel_post' ] = Message .de_json (data .get ('channel_post' ), bot )
104115 data ['edited_channel_post' ] = Message .de_json (data .get ('edited_channel_post' ), bot )
105116
@@ -132,6 +143,12 @@ def effective_user(self):
132143 elif self .callback_query :
133144 user = self .callback_query .from_user
134145
146+ elif self .shipping_query :
147+ user = self .shipping_query .from_user
148+
149+ elif self .pre_checkout_query :
150+ user = self .pre_checkout_query .from_user
151+
135152 self ._effective_user = user
136153 return user
137154
0 commit comments