diff --git a/pyrogram/types/business/pre_checkout_query.py b/pyrogram/types/business/pre_checkout_query.py
index 09f3bdaf..fad93171 100644
--- a/pyrogram/types/business/pre_checkout_query.py
+++ b/pyrogram/types/business/pre_checkout_query.py
@@ -17,14 +17,11 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrofork. If not, see .
-from typing import Union, List, Match, Optional
import pyrogram
-from pyrogram import raw, enums
-from pyrogram import types
+from pyrogram import raw, types
from ..object import Object
from ..update import Update
-from ... import utils
class PreCheckoutQuery(Object, Update):
@@ -76,7 +73,11 @@ class PreCheckoutQuery(Object, Update):
self.payment_info = payment_info
@staticmethod
- async def _parse(client: "pyrogram.Client", pre_checkout_query, users) -> "PreCheckoutQuery":
+ async def _parse(
+ client: "pyrogram.Client",
+ pre_checkout_query: "raw.types.UpdateBotPrecheckoutQuery",
+ users
+ ) -> "PreCheckoutQuery":
# Try to decode pre-checkout query payload into string. If that fails, fallback to bytes instead of decoding by
# ignoring/replacing errors, this way, button clicks will still work.
try:
diff --git a/pyrogram/types/business/shipping_option.py b/pyrogram/types/business/shipping_option.py
index a0fa1934..81f64124 100644
--- a/pyrogram/types/business/shipping_option.py
+++ b/pyrogram/types/business/shipping_option.py
@@ -1,5 +1,6 @@
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan
+# Copyright (C) 2022-present Mayuri-Chan
#
# This file is part of Pyrogram.
#
diff --git a/pyrogram/types/business/shipping_query.py b/pyrogram/types/business/shipping_query.py
index 51926cd9..e7a8f61f 100644
--- a/pyrogram/types/business/shipping_query.py
+++ b/pyrogram/types/business/shipping_query.py
@@ -1,5 +1,6 @@
# Pyrogram - Telegram MTProto API Client Library for Python
# Copyright (C) 2017-present Dan
+# Copyright (C) 2022-present Mayuri-Chan
#
# This file is part of Pyrogram.
#
@@ -16,8 +17,6 @@
# You should have received a copy of the GNU Lesser General Public License
# along with Pyrogram. If not, see .
-from typing import Union, Optional
-
import pyrogram
from pyrogram import raw, types
@@ -49,14 +48,14 @@ class ShippingQuery(Object, Update):
client: "pyrogram.Client" = None,
id: str,
from_user: "types.User",
- invoice_payload: str,
+ payload: str,
shipping_address: "types.ShippingAddress" = None
):
super().__init__(client)
self.id = id
self.from_user = from_user
- self.invoice_payload = invoice_payload
+ self.payload = payload
self.shipping_address = shipping_address
@staticmethod
@@ -72,19 +71,12 @@ class ShippingQuery(Object, Update):
except (UnicodeDecodeError, AttributeError):
payload = shipping_query.payload
- return types.PreCheckoutQuery(
- id=str(shipping_query.query_id),
- from_user=types.User._parse(client, users[shipping_query.user_id]),
- invoice_payload=payload,
- shipping_address=types.ShippingAddress(
- country_code=shipping_query.shipping_address.country_iso2,
- state=shipping_query.shipping_address.state,
- city=shipping_query.shipping_address.city,
- street_line1=shipping_query.shipping_address.street_line1,
- street_line2=shipping_query.shipping_address.street_line2,
- post_code=shipping_query.shipping_address.post_code
- ),
- client=client
+ return ShippingQuery(
+ client=client,
+ id=shipping_query.query_id,
+ from_user=types.User._parse(client, shipping_query.user_id, users),
+ payload=payload,
+ shipping_address=types.ShippingAddress._parse(client, shipping_query.shipping_address)
)
async def answer(