aiogram/aiogram/types/location.py
Alex Root Junior 057478621b
Added full support of Bot API 7.2 (#1444)
* Added base support of Bot API 7.2

* Added base support of Bot API 7.2

* Fixing tests and content types for Telegram Bot API 7.2 update (#1453)

* Fixing tests and content types for Telegram Bot API 7.2

* Adding changelog for 1453 PR

* Fixes + coverage

* Replace `BusinessConnection.date` type

* Reformat code

* Refactor UserContextMiddleware to use EventContext class

This update significantly refactors UserContextMiddleware to leverage a new class, EventContext. Instead of resolving event context as a tuple, it now produces an instance of EventContext. Additional adjustments include supporting a business connection ID for event context identification and facilitating backwards compatibility. Tests and other files were also updated accordingly for these changes.

* Cover FSM key builder (business_connection_id

* Added changelog

---------

Co-authored-by: RoLOQ <roman.fedunn@gmail.com>
2024-04-22 13:48:49 +03:00

55 lines
2.1 KiB
Python

from __future__ import annotations
from typing import TYPE_CHECKING, Any, Optional
from .base import TelegramObject
class Location(TelegramObject):
"""
This object represents a point on the map.
Source: https://core.telegram.org/bots/api#location
"""
latitude: float
"""Latitude as defined by sender"""
longitude: float
"""Longitude as defined by sender"""
horizontal_accuracy: Optional[float] = None
"""*Optional*. The radius of uncertainty for the location, measured in meters; 0-1500"""
live_period: Optional[int] = None
"""*Optional*. Time relative to the message sending date, during which the location can be updated; in seconds. For active live locations only."""
heading: Optional[int] = None
"""*Optional*. The direction in which user is moving, in degrees; 1-360. For active live locations only."""
proximity_alert_radius: Optional[int] = None
"""*Optional*. The maximum distance for proximity alerts about approaching another chat member, in meters. For sent live locations only."""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!
# This section was auto-generated via `butcher`
def __init__(
__pydantic__self__,
*,
latitude: float,
longitude: float,
horizontal_accuracy: Optional[float] = None,
live_period: Optional[int] = None,
heading: Optional[int] = None,
proximity_alert_radius: Optional[int] = None,
**__pydantic_kwargs: Any,
) -> None:
# DO NOT EDIT MANUALLY!!!
# This method was auto-generated via `butcher`
# Is needed only for type checking and IDE support without any additional plugins
super().__init__(
latitude=latitude,
longitude=longitude,
horizontal_accuracy=horizontal_accuracy,
live_period=live_period,
heading=heading,
proximity_alert_radius=proximity_alert_radius,
**__pydantic_kwargs,
)