aiogram/aiogram/methods/get_chat_gifts.py
Alex Root Junior 0306695b61
Update type hints across the codebase (#1749)
* Update type hints across the codebase

* Added changelog record
2026-01-02 02:50:46 +02:00

79 lines
3.8 KiB
Python

from __future__ import annotations
from typing import TYPE_CHECKING, Any
from ..types import ChatIdUnion, OwnedGifts
from .base import TelegramMethod
class GetChatGifts(TelegramMethod[OwnedGifts]):
"""
Returns the gifts owned by a chat. Returns :class:`aiogram.types.owned_gifts.OwnedGifts` on success.
Source: https://core.telegram.org/bots/api#getchatgifts
"""
__returning__ = OwnedGifts
__api_method__ = "getChatGifts"
chat_id: ChatIdUnion
"""Unique identifier for the target chat or username of the target channel (in the format :code:`@channelusername`)"""
exclude_unsaved: bool | None = None
"""Pass :code:`True` to exclude gifts that aren't saved to the chat's profile page. Always :code:`True`, unless the bot has the *can_post_messages* administrator right in the channel."""
exclude_saved: bool | None = None
"""Pass :code:`True` to exclude gifts that are saved to the chat's profile page. Always :code:`False`, unless the bot has the *can_post_messages* administrator right in the channel."""
exclude_unlimited: bool | None = None
"""Pass :code:`True` to exclude gifts that can be purchased an unlimited number of times"""
exclude_limited_upgradable: bool | None = None
"""Pass :code:`True` to exclude gifts that can be purchased a limited number of times and can be upgraded to unique"""
exclude_limited_non_upgradable: bool | None = None
"""Pass :code:`True` to exclude gifts that can be purchased a limited number of times and can't be upgraded to unique"""
exclude_from_blockchain: bool | None = None
"""Pass :code:`True` to exclude gifts that were assigned from the TON blockchain and can't be resold or transferred in Telegram"""
exclude_unique: bool | None = None
"""Pass :code:`True` to exclude unique gifts"""
sort_by_price: bool | None = None
"""Pass :code:`True` to sort results by gift price instead of send date. Sorting is applied before pagination."""
offset: str | None = None
"""Offset of the first entry to return as received from the previous request; use an empty string to get the first chunk of results"""
limit: int | None = None
"""The maximum number of gifts to be returned; 1-100. Defaults to 100"""
if TYPE_CHECKING:
# DO NOT EDIT MANUALLY!!!
# This section was auto-generated via `butcher`
def __init__(
__pydantic__self__,
*,
chat_id: ChatIdUnion,
exclude_unsaved: bool | None = None,
exclude_saved: bool | None = None,
exclude_unlimited: bool | None = None,
exclude_limited_upgradable: bool | None = None,
exclude_limited_non_upgradable: bool | None = None,
exclude_from_blockchain: bool | None = None,
exclude_unique: bool | None = None,
sort_by_price: bool | None = None,
offset: str | None = None,
limit: int | None = 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__(
chat_id=chat_id,
exclude_unsaved=exclude_unsaved,
exclude_saved=exclude_saved,
exclude_unlimited=exclude_unlimited,
exclude_limited_upgradable=exclude_limited_upgradable,
exclude_limited_non_upgradable=exclude_limited_non_upgradable,
exclude_from_blockchain=exclude_from_blockchain,
exclude_unique=exclude_unique,
sort_by_price=sort_by_price,
offset=offset,
limit=limit,
**__pydantic_kwargs,
)