mirror of
https://github.com/python-telegram-bot/python-telegram-bot.git
synced 2024-12-22 14:35:00 +01:00
Remove Functionality Deprecated in API 7.0 (#4114)
This commit is contained in:
parent
c513d51147
commit
277031cfb2
28 changed files with 729 additions and 1435 deletions
|
@ -73,7 +73,6 @@ Available Types
|
||||||
telegram.keyboardbutton
|
telegram.keyboardbutton
|
||||||
telegram.keyboardbuttonpolltype
|
telegram.keyboardbuttonpolltype
|
||||||
telegram.keyboardbuttonrequestchat
|
telegram.keyboardbuttonrequestchat
|
||||||
telegram.keyboardbuttonrequestuser
|
|
||||||
telegram.keyboardbuttonrequestusers
|
telegram.keyboardbuttonrequestusers
|
||||||
telegram.linkpreviewoptions
|
telegram.linkpreviewoptions
|
||||||
telegram.location
|
telegram.location
|
||||||
|
@ -115,7 +114,6 @@ Available Types
|
||||||
telegram.user
|
telegram.user
|
||||||
telegram.userchatboosts
|
telegram.userchatboosts
|
||||||
telegram.userprofilephotos
|
telegram.userprofilephotos
|
||||||
telegram.usershared
|
|
||||||
telegram.usersshared
|
telegram.usersshared
|
||||||
telegram.venue
|
telegram.venue
|
||||||
telegram.video
|
telegram.video
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
KeyboardButtonRequestUser
|
|
||||||
=========================
|
|
||||||
|
|
||||||
.. autoclass:: telegram.KeyboardButtonRequestUser
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
|
@ -1,6 +0,0 @@
|
||||||
UserShared
|
|
||||||
==========
|
|
||||||
|
|
||||||
.. autoclass:: telegram.UserShared
|
|
||||||
:members:
|
|
||||||
:show-inheritance:
|
|
|
@ -68,7 +68,7 @@
|
||||||
|
|
||||||
.. |rtm_aswr_deprecated| replace:: replacing this argument. PTB will automatically convert this argument to that one, but you should update your code to use the new argument.
|
.. |rtm_aswr_deprecated| replace:: replacing this argument. PTB will automatically convert this argument to that one, but you should update your code to use the new argument.
|
||||||
|
|
||||||
.. |keyword_only_arg| replace:: In future versions, this argument will become a keyword-only argument.
|
.. |keyword_only_arg| replace:: This argument is now a keyword-only argument.
|
||||||
|
|
||||||
.. |text_html| replace:: The return value of this property is a best-effort approach. Unfortunately, it can not be guaranteed that sending a message with the returned string will render in the same way as the original message produces the same :attr:`~telegram.Message.entities`/:attr:`~telegram.Message.caption_entities` as the original message. For example, Telegram recommends that entities of type :attr:`~telegram.MessageEntity.BLOCKQUOTE` and :attr:`~telegram.MessageEntity.PRE` *should* start and end on a new line, but does not enforce this and leaves rendering decisions up to the clients.
|
.. |text_html| replace:: The return value of this property is a best-effort approach. Unfortunately, it can not be guaranteed that sending a message with the returned string will render in the same way as the original message produces the same :attr:`~telegram.Message.entities`/:attr:`~telegram.Message.caption_entities` as the original message. For example, Telegram recommends that entities of type :attr:`~telegram.MessageEntity.BLOCKQUOTE` and :attr:`~telegram.MessageEntity.PRE` *should* start and end on a new line, but does not enforce this and leaves rendering decisions up to the clients.
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,6 @@ __all__ = (
|
||||||
"KeyboardButton",
|
"KeyboardButton",
|
||||||
"KeyboardButtonPollType",
|
"KeyboardButtonPollType",
|
||||||
"KeyboardButtonRequestChat",
|
"KeyboardButtonRequestChat",
|
||||||
"KeyboardButtonRequestUser",
|
|
||||||
"KeyboardButtonRequestUsers",
|
"KeyboardButtonRequestUsers",
|
||||||
"LabeledPrice",
|
"LabeledPrice",
|
||||||
"LinkPreviewOptions",
|
"LinkPreviewOptions",
|
||||||
|
@ -198,7 +197,6 @@ __all__ = (
|
||||||
"User",
|
"User",
|
||||||
"UserChatBoosts",
|
"UserChatBoosts",
|
||||||
"UserProfilePhotos",
|
"UserProfilePhotos",
|
||||||
"UserShared",
|
|
||||||
"UsersShared",
|
"UsersShared",
|
||||||
"Venue",
|
"Venue",
|
||||||
"Video",
|
"Video",
|
||||||
|
@ -338,11 +336,7 @@ from ._inline.inputtextmessagecontent import InputTextMessageContent
|
||||||
from ._inline.inputvenuemessagecontent import InputVenueMessageContent
|
from ._inline.inputvenuemessagecontent import InputVenueMessageContent
|
||||||
from ._keyboardbutton import KeyboardButton
|
from ._keyboardbutton import KeyboardButton
|
||||||
from ._keyboardbuttonpolltype import KeyboardButtonPollType
|
from ._keyboardbuttonpolltype import KeyboardButtonPollType
|
||||||
from ._keyboardbuttonrequest import (
|
from ._keyboardbuttonrequest import KeyboardButtonRequestChat, KeyboardButtonRequestUsers
|
||||||
KeyboardButtonRequestChat,
|
|
||||||
KeyboardButtonRequestUser,
|
|
||||||
KeyboardButtonRequestUsers,
|
|
||||||
)
|
|
||||||
from ._linkpreviewoptions import LinkPreviewOptions
|
from ._linkpreviewoptions import LinkPreviewOptions
|
||||||
from ._loginurl import LoginUrl
|
from ._loginurl import LoginUrl
|
||||||
from ._menubutton import MenuButton, MenuButtonCommands, MenuButtonDefault, MenuButtonWebApp
|
from ._menubutton import MenuButton, MenuButtonCommands, MenuButtonDefault, MenuButtonWebApp
|
||||||
|
@ -397,7 +391,7 @@ from ._reply import ExternalReplyInfo, ReplyParameters, TextQuote
|
||||||
from ._replykeyboardmarkup import ReplyKeyboardMarkup
|
from ._replykeyboardmarkup import ReplyKeyboardMarkup
|
||||||
from ._replykeyboardremove import ReplyKeyboardRemove
|
from ._replykeyboardremove import ReplyKeyboardRemove
|
||||||
from ._sentwebappmessage import SentWebAppMessage
|
from ._sentwebappmessage import SentWebAppMessage
|
||||||
from ._shared import ChatShared, UserShared, UsersShared
|
from ._shared import ChatShared, UsersShared
|
||||||
from ._story import Story
|
from ._story import Story
|
||||||
from ._switchinlinequerychosenchat import SwitchInlineQueryChosenChat
|
from ._switchinlinequerychosenchat import SwitchInlineQueryChosenChat
|
||||||
from ._telegramobject import TelegramObject
|
from ._telegramobject import TelegramObject
|
||||||
|
|
779
telegram/_bot.py
779
telegram/_bot.py
File diff suppressed because it is too large
Load diff
|
@ -209,11 +209,11 @@ class CallbackQuery(TelegramObject):
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
*,
|
*,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -808,13 +808,13 @@ class CallbackQuery(TelegramObject):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
|
|
@ -1411,17 +1411,17 @@ class Chat(TelegramObject):
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1529,12 +1529,12 @@ class Chat(TelegramObject):
|
||||||
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
||||||
],
|
],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1614,16 +1614,16 @@ class Chat(TelegramObject):
|
||||||
photo: Union[FileInput, "PhotoSize"],
|
photo: Union[FileInput, "PhotoSize"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
has_spoiler: Optional[bool] = None,
|
has_spoiler: Optional[bool] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1669,14 +1669,14 @@ class Chat(TelegramObject):
|
||||||
first_name: Optional[str] = None,
|
first_name: Optional[str] = None,
|
||||||
last_name: Optional[str] = None,
|
last_name: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
vcard: Optional[str] = None,
|
vcard: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
contact: Optional["Contact"] = None,
|
contact: Optional["Contact"] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1723,16 +1723,16 @@ class Chat(TelegramObject):
|
||||||
title: Optional[str] = None,
|
title: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1780,17 +1780,17 @@ class Chat(TelegramObject):
|
||||||
document: Union[FileInput, "Document"],
|
document: Union[FileInput, "Document"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_content_type_detection: Optional[bool] = None,
|
disable_content_type_detection: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1834,14 +1834,14 @@ class Chat(TelegramObject):
|
||||||
async def send_dice(
|
async def send_dice(
|
||||||
self,
|
self,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1879,13 +1879,13 @@ class Chat(TelegramObject):
|
||||||
self,
|
self,
|
||||||
game_short_name: str,
|
game_short_name: str,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1938,18 +1938,18 @@ class Chat(TelegramObject):
|
||||||
need_shipping_address: Optional[bool] = None,
|
need_shipping_address: Optional[bool] = None,
|
||||||
is_flexible: Optional[bool] = None,
|
is_flexible: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
provider_data: Optional[Union[str, object]] = None,
|
provider_data: Optional[Union[str, object]] = None,
|
||||||
send_phone_number_to_provider: Optional[bool] = None,
|
send_phone_number_to_provider: Optional[bool] = None,
|
||||||
send_email_to_provider: Optional[bool] = None,
|
send_email_to_provider: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
max_tip_amount: Optional[int] = None,
|
max_tip_amount: Optional[int] = None,
|
||||||
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2018,17 +2018,17 @@ class Chat(TelegramObject):
|
||||||
latitude: Optional[float] = None,
|
latitude: Optional[float] = None,
|
||||||
longitude: Optional[float] = None,
|
longitude: Optional[float] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
live_period: Optional[int] = None,
|
live_period: Optional[int] = None,
|
||||||
horizontal_accuracy: Optional[float] = None,
|
horizontal_accuracy: Optional[float] = None,
|
||||||
heading: Optional[int] = None,
|
heading: Optional[int] = None,
|
||||||
proximity_alert_radius: Optional[int] = None,
|
proximity_alert_radius: Optional[int] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
location: Optional["Location"] = None,
|
location: Optional["Location"] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2078,9 +2078,7 @@ class Chat(TelegramObject):
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -2088,6 +2086,8 @@ class Chat(TelegramObject):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2135,14 +2135,14 @@ class Chat(TelegramObject):
|
||||||
self,
|
self,
|
||||||
sticker: Union[FileInput, "Sticker"],
|
sticker: Union[FileInput, "Sticker"],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2185,16 +2185,16 @@ class Chat(TelegramObject):
|
||||||
address: Optional[str] = None,
|
address: Optional[str] = None,
|
||||||
foursquare_id: Optional[str] = None,
|
foursquare_id: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
foursquare_type: Optional[str] = None,
|
foursquare_type: Optional[str] = None,
|
||||||
google_place_id: Optional[str] = None,
|
google_place_id: Optional[str] = None,
|
||||||
google_place_type: Optional[str] = None,
|
google_place_type: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
venue: Optional["Venue"] = None,
|
venue: Optional["Venue"] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2243,13 +2243,11 @@ class Chat(TelegramObject):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
width: Optional[int] = None,
|
width: Optional[int] = None,
|
||||||
height: Optional[int] = None,
|
height: Optional[int] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
supports_streaming: Optional[bool] = None,
|
supports_streaming: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -2257,6 +2255,8 @@ class Chat(TelegramObject):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2307,14 +2307,14 @@ class Chat(TelegramObject):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
length: Optional[int] = None,
|
length: Optional[int] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2359,15 +2359,15 @@ class Chat(TelegramObject):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2417,18 +2417,18 @@ class Chat(TelegramObject):
|
||||||
correct_option_id: Optional[CorrectOptionID] = None,
|
correct_option_id: Optional[CorrectOptionID] = None,
|
||||||
is_closed: Optional[bool] = None,
|
is_closed: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
explanation: Optional[str] = None,
|
explanation: Optional[str] = None,
|
||||||
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
open_period: Optional[int] = None,
|
open_period: Optional[int] = None,
|
||||||
close_date: Optional[Union[int, datetime]] = None,
|
close_date: Optional[Union[int, datetime]] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2481,13 +2481,13 @@ class Chat(TelegramObject):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2535,13 +2535,13 @@ class Chat(TelegramObject):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
|
|
@ -21,13 +21,9 @@ from typing import TYPE_CHECKING, Optional, Sequence, Tuple
|
||||||
|
|
||||||
from telegram._inline.inputmessagecontent import InputMessageContent
|
from telegram._inline.inputmessagecontent import InputMessageContent
|
||||||
from telegram._messageentity import MessageEntity
|
from telegram._messageentity import MessageEntity
|
||||||
from telegram._utils.argumentparsing import parse_sequence_arg
|
from telegram._utils.argumentparsing import parse_lpo_and_dwpp, parse_sequence_arg
|
||||||
from telegram._utils.defaultvalue import DEFAULT_NONE, DefaultValue
|
from telegram._utils.defaultvalue import DEFAULT_NONE
|
||||||
from telegram._utils.types import JSONDict, ODVInput
|
from telegram._utils.types import JSONDict, ODVInput
|
||||||
from telegram._utils.warnings_transition import (
|
|
||||||
warn_about_deprecated_attr_in_property,
|
|
||||||
warn_for_link_preview_options,
|
|
||||||
)
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from telegram._linkpreviewoptions import LinkPreviewOptions
|
from telegram._linkpreviewoptions import LinkPreviewOptions
|
||||||
|
@ -54,22 +50,24 @@ class InputTextMessageContent(InputMessageContent):
|
||||||
.. versionchanged:: 20.0
|
.. versionchanged:: 20.0
|
||||||
|sequenceclassargs|
|
|sequenceclassargs|
|
||||||
|
|
||||||
|
link_preview_options (:obj:`LinkPreviewOptions`, optional): Link preview generation
|
||||||
|
options for the message. Mutually exclusive with
|
||||||
|
:paramref:`disable_web_page_preview`.
|
||||||
|
|
||||||
|
.. versionadded:: 20.8
|
||||||
|
|
||||||
|
Keyword Args:
|
||||||
disable_web_page_preview (:obj:`bool`, optional): Disables link previews for links in the
|
disable_web_page_preview (:obj:`bool`, optional): Disables link previews for links in the
|
||||||
sent message. Mutually exclusive with :paramref:`link_preview_options`.
|
sent message. Convenience parameter for setting :paramref:`link_preview_options`.
|
||||||
|
Mutually exclusive with :paramref:`link_preview_options`.
|
||||||
|
|
||||||
.. versionchanged:: 20.8
|
.. versionchanged:: 20.8
|
||||||
Bot API 7.0 introduced :paramref:`link_preview_options` replacing this
|
Bot API 7.0 introduced :paramref:`link_preview_options` replacing this
|
||||||
argument. PTB will automatically convert this argument to that one, but
|
argument. PTB will automatically convert this argument to that one, but
|
||||||
for advanced options, please use :paramref:`link_preview_options` directly.
|
for advanced options, please use :paramref:`link_preview_options` directly.
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
.. versionchanged:: NEXT.VERSION
|
||||||
In future versions, this argument will become keyword only.
|
|keyword_only_arg|
|
||||||
|
|
||||||
link_preview_options (:obj:`LinkPreviewOptions`, optional): Link preview generation
|
|
||||||
options for the message. Mutually exclusive with
|
|
||||||
:paramref:`disable_web_page_preview`.
|
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
|
||||||
|
|
||||||
Attributes:
|
Attributes:
|
||||||
message_text (:obj:`str`): Text of the message to be sent,
|
message_text (:obj:`str`): Text of the message to be sent,
|
||||||
|
@ -84,8 +82,7 @@ class InputTextMessageContent(InputMessageContent):
|
||||||
* |tupleclassattrs|
|
* |tupleclassattrs|
|
||||||
* |alwaystuple|
|
* |alwaystuple|
|
||||||
link_preview_options (:obj:`LinkPreviewOptions`): Optional. Link preview generation
|
link_preview_options (:obj:`LinkPreviewOptions`): Optional. Link preview generation
|
||||||
options for the message. Mutually exclusive with
|
options for the message.
|
||||||
:attr:`disable_web_page_preview`.
|
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
.. versionadded:: 20.8
|
||||||
|
|
||||||
|
@ -97,10 +94,10 @@ class InputTextMessageContent(InputMessageContent):
|
||||||
self,
|
self,
|
||||||
message_text: str,
|
message_text: str,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
entities: Optional[Sequence[MessageEntity]] = None,
|
entities: Optional[Sequence[MessageEntity]] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
*,
|
*,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
api_kwargs: Optional[JSONDict] = None,
|
api_kwargs: Optional[JSONDict] = None,
|
||||||
):
|
):
|
||||||
super().__init__(api_kwargs=api_kwargs)
|
super().__init__(api_kwargs=api_kwargs)
|
||||||
|
@ -111,27 +108,8 @@ class InputTextMessageContent(InputMessageContent):
|
||||||
# Optionals
|
# Optionals
|
||||||
self.parse_mode: ODVInput[str] = parse_mode
|
self.parse_mode: ODVInput[str] = parse_mode
|
||||||
self.entities: Tuple[MessageEntity, ...] = parse_sequence_arg(entities)
|
self.entities: Tuple[MessageEntity, ...] = parse_sequence_arg(entities)
|
||||||
self.link_preview_options: ODVInput["LinkPreviewOptions"] = (
|
self.link_preview_options: ODVInput["LinkPreviewOptions"] = parse_lpo_and_dwpp(
|
||||||
warn_for_link_preview_options(disable_web_page_preview, link_preview_options)
|
disable_web_page_preview, link_preview_options
|
||||||
)
|
)
|
||||||
|
|
||||||
self._id_attrs = (self.message_text,)
|
self._id_attrs = (self.message_text,)
|
||||||
|
|
||||||
@property
|
|
||||||
def disable_web_page_preview(self) -> Optional[bool]:
|
|
||||||
"""Optional[:obj:`bool`]: Disables link previews for links in the sent message.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="disable_web_page_preview",
|
|
||||||
new_attr_name="link_preview_options",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
if (
|
|
||||||
isinstance(self.link_preview_options, DefaultValue)
|
|
||||||
or self.link_preview_options is None
|
|
||||||
):
|
|
||||||
return None
|
|
||||||
return bool(self.link_preview_options.is_disabled)
|
|
||||||
|
|
|
@ -18,20 +18,12 @@
|
||||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||||
"""This module contains an object that represents a Telegram KeyboardButton."""
|
"""This module contains an object that represents a Telegram KeyboardButton."""
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, Optional, Union
|
from typing import TYPE_CHECKING, Optional
|
||||||
|
|
||||||
from telegram._keyboardbuttonpolltype import KeyboardButtonPollType
|
from telegram._keyboardbuttonpolltype import KeyboardButtonPollType
|
||||||
from telegram._keyboardbuttonrequest import (
|
from telegram._keyboardbuttonrequest import KeyboardButtonRequestChat, KeyboardButtonRequestUsers
|
||||||
KeyboardButtonRequestChat,
|
|
||||||
KeyboardButtonRequestUser,
|
|
||||||
KeyboardButtonRequestUsers,
|
|
||||||
)
|
|
||||||
from telegram._telegramobject import TelegramObject
|
from telegram._telegramobject import TelegramObject
|
||||||
from telegram._utils.types import JSONDict
|
from telegram._utils.types import JSONDict
|
||||||
from telegram._utils.warnings_transition import (
|
|
||||||
warn_about_deprecated_arg_return_new_arg,
|
|
||||||
warn_about_deprecated_attr_in_property,
|
|
||||||
)
|
|
||||||
from telegram._webappinfo import WebAppInfo
|
from telegram._webappinfo import WebAppInfo
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
|
@ -60,6 +52,8 @@ class KeyboardButton(TelegramObject):
|
||||||
versions released after 3 February, 2023. Older clients will display unsupported
|
versions released after 3 February, 2023. Older clients will display unsupported
|
||||||
message.
|
message.
|
||||||
|
|
||||||
|
.. versionchanged:: NEXT.VERSION
|
||||||
|
Removed deprecated argument and attribute ``request_user``.
|
||||||
.. versionchanged:: 20.0
|
.. versionchanged:: 20.0
|
||||||
:attr:`web_app` is considered as well when comparing objects of this type in terms of
|
:attr:`web_app` is considered as well when comparing objects of this type in terms of
|
||||||
equality.
|
equality.
|
||||||
|
@ -83,17 +77,10 @@ class KeyboardButton(TelegramObject):
|
||||||
Available in private chats only.
|
Available in private chats only.
|
||||||
|
|
||||||
.. versionadded:: 20.0
|
.. versionadded:: 20.0
|
||||||
request_user (:class:`KeyboardButtonRequestUser` | :class:`KeyboardButtonRequestUsers`, \
|
|
||||||
optional): Alias for
|
|
||||||
:attr:`request_users`.
|
|
||||||
|
|
||||||
.. versionadded:: 20.1
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates this argument in favor of ref`request_users`.
|
|
||||||
|
|
||||||
request_users (:class:`KeyboardButtonRequestUsers`, optional): If specified, pressing the
|
request_users (:class:`KeyboardButtonRequestUsers`, optional): If specified, pressing the
|
||||||
button will open a list of suitable users. Tapping on any user will send its
|
button will open a list of suitable users. Tapping on any user will send its
|
||||||
identifier to the bot in a :attr:`telegram.Message.user_shared` service message.
|
identifier to the bot in a :attr:`telegram.Message.users_shared` service message.
|
||||||
Available in private chats only.
|
Available in private chats only.
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
.. versionadded:: 20.8
|
||||||
|
@ -121,7 +108,7 @@ class KeyboardButton(TelegramObject):
|
||||||
.. versionadded:: 20.0
|
.. versionadded:: 20.0
|
||||||
request_users (:class:`KeyboardButtonRequestUsers`): Optional. If specified, pressing the
|
request_users (:class:`KeyboardButtonRequestUsers`): Optional. If specified, pressing the
|
||||||
button will open a list of suitable users. Tapping on any user will send its
|
button will open a list of suitable users. Tapping on any user will send its
|
||||||
identifier to the bot in a :attr:`telegram.Message.user_shared` service message.
|
identifier to the bot in a :attr:`telegram.Message.users_shared` service message.
|
||||||
Available in private chats only.
|
Available in private chats only.
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
.. versionadded:: 20.8
|
||||||
|
@ -150,9 +137,6 @@ class KeyboardButton(TelegramObject):
|
||||||
request_location: Optional[bool] = None,
|
request_location: Optional[bool] = None,
|
||||||
request_poll: Optional[KeyboardButtonPollType] = None,
|
request_poll: Optional[KeyboardButtonPollType] = None,
|
||||||
web_app: Optional[WebAppInfo] = None,
|
web_app: Optional[WebAppInfo] = None,
|
||||||
request_user: Optional[
|
|
||||||
Union[KeyboardButtonRequestUsers, KeyboardButtonRequestUser]
|
|
||||||
] = None,
|
|
||||||
request_chat: Optional[KeyboardButtonRequestChat] = None,
|
request_chat: Optional[KeyboardButtonRequestChat] = None,
|
||||||
request_users: Optional[KeyboardButtonRequestUsers] = None,
|
request_users: Optional[KeyboardButtonRequestUsers] = None,
|
||||||
*,
|
*,
|
||||||
|
@ -167,15 +151,7 @@ class KeyboardButton(TelegramObject):
|
||||||
self.request_location: Optional[bool] = request_location
|
self.request_location: Optional[bool] = request_location
|
||||||
self.request_poll: Optional[KeyboardButtonPollType] = request_poll
|
self.request_poll: Optional[KeyboardButtonPollType] = request_poll
|
||||||
self.web_app: Optional[WebAppInfo] = web_app
|
self.web_app: Optional[WebAppInfo] = web_app
|
||||||
self.request_users: Optional[KeyboardButtonRequestUsers] = (
|
self.request_users: Optional[KeyboardButtonRequestUsers] = request_users
|
||||||
warn_about_deprecated_arg_return_new_arg(
|
|
||||||
deprecated_arg=request_user,
|
|
||||||
new_arg=request_users,
|
|
||||||
deprecated_arg_name="request_user",
|
|
||||||
new_arg_name="request_users",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
self.request_chat: Optional[KeyboardButtonRequestChat] = request_chat
|
self.request_chat: Optional[KeyboardButtonRequestChat] = request_chat
|
||||||
|
|
||||||
self._id_attrs = (
|
self._id_attrs = (
|
||||||
|
@ -190,21 +166,6 @@ class KeyboardButton(TelegramObject):
|
||||||
|
|
||||||
self._freeze()
|
self._freeze()
|
||||||
|
|
||||||
@property
|
|
||||||
def request_user(self) -> Optional[KeyboardButtonRequestUsers]:
|
|
||||||
"""Optional[:class:`KeyboardButtonRequestUsers`]: Alias for :attr:`request_users`.
|
|
||||||
|
|
||||||
.. versionadded:: 20.1
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates this attribute in favor of :attr:`request_users`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="request_user",
|
|
||||||
new_attr_name="request_users",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self.request_users
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def de_json(cls, data: Optional[JSONDict], bot: "Bot") -> Optional["KeyboardButton"]:
|
def de_json(cls, data: Optional[JSONDict], bot: "Bot") -> Optional["KeyboardButton"]:
|
||||||
"""See :meth:`telegram.TelegramObject.de_json`."""
|
"""See :meth:`telegram.TelegramObject.de_json`."""
|
||||||
|
@ -218,4 +179,10 @@ class KeyboardButton(TelegramObject):
|
||||||
data["request_chat"] = KeyboardButtonRequestChat.de_json(data.get("request_chat"), bot)
|
data["request_chat"] = KeyboardButtonRequestChat.de_json(data.get("request_chat"), bot)
|
||||||
data["web_app"] = WebAppInfo.de_json(data.get("web_app"), bot)
|
data["web_app"] = WebAppInfo.de_json(data.get("web_app"), bot)
|
||||||
|
|
||||||
return super().de_json(data=data, bot=bot)
|
api_kwargs = {}
|
||||||
|
# This is a deprecated field that TG still returns for backwards compatibility
|
||||||
|
# Let's filter it out to speed up the de-json process
|
||||||
|
if request_user := data.get("request_user"):
|
||||||
|
api_kwargs = {"request_user": request_user}
|
||||||
|
|
||||||
|
return super()._de_json(data=data, bot=bot, api_kwargs=api_kwargs)
|
||||||
|
|
|
@ -22,9 +22,6 @@ from typing import TYPE_CHECKING, Optional
|
||||||
from telegram._chatadministratorrights import ChatAdministratorRights
|
from telegram._chatadministratorrights import ChatAdministratorRights
|
||||||
from telegram._telegramobject import TelegramObject
|
from telegram._telegramobject import TelegramObject
|
||||||
from telegram._utils.types import JSONDict
|
from telegram._utils.types import JSONDict
|
||||||
from telegram._utils.warnings import warn
|
|
||||||
from telegram._utils.warnings_transition import build_deprecation_warning_message
|
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from telegram import Bot
|
from telegram import Bot
|
||||||
|
@ -42,7 +39,7 @@ class KeyboardButtonRequestUsers(TelegramObject):
|
||||||
<https://core.telegram.org/bots/features#chat-and-user-selection>`_
|
<https://core.telegram.org/bots/features#chat-and-user-selection>`_
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
.. versionadded:: 20.8
|
||||||
This class was previously named :class:`KeyboardButtonRequestUser`.
|
This class was previously named ``KeyboardButtonRequestUser``.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
request_id (:obj:`int`): Signed 32-bit identifier of the request, which will be received
|
request_id (:obj:`int`): Signed 32-bit identifier of the request, which will be received
|
||||||
|
@ -106,49 +103,6 @@ class KeyboardButtonRequestUsers(TelegramObject):
|
||||||
self._freeze()
|
self._freeze()
|
||||||
|
|
||||||
|
|
||||||
class KeyboardButtonRequestUser(KeyboardButtonRequestUsers):
|
|
||||||
"""Alias for :class:`KeyboardButtonRequestUsers`, kept for backward compatibility.
|
|
||||||
|
|
||||||
.. versionadded:: 20.1
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Use :class:`KeyboardButtonRequestUsers` instead.
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
__slots__ = ()
|
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
request_id: int,
|
|
||||||
user_is_bot: Optional[bool] = None,
|
|
||||||
user_is_premium: Optional[bool] = None,
|
|
||||||
max_quantity: Optional[int] = None,
|
|
||||||
*,
|
|
||||||
api_kwargs: Optional[JSONDict] = None, # skipcq: PYL-W0622
|
|
||||||
):
|
|
||||||
super().__init__(
|
|
||||||
request_id=request_id,
|
|
||||||
user_is_bot=user_is_bot,
|
|
||||||
user_is_premium=user_is_premium,
|
|
||||||
max_quantity=max_quantity,
|
|
||||||
api_kwargs=api_kwargs,
|
|
||||||
)
|
|
||||||
|
|
||||||
warn(
|
|
||||||
build_deprecation_warning_message(
|
|
||||||
deprecated_name="KeyboardButtonRequestUser",
|
|
||||||
new_name="KeyboardButtonRequestUsers",
|
|
||||||
object_type="class",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
),
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
|
|
||||||
self._freeze()
|
|
||||||
|
|
||||||
|
|
||||||
class KeyboardButtonRequestChat(TelegramObject):
|
class KeyboardButtonRequestChat(TelegramObject):
|
||||||
"""This object defines the criteria used to request a suitable chat. The identifier of the
|
"""This object defines the criteria used to request a suitable chat. The identifier of the
|
||||||
selected user will be shared with the bot when the corresponding button is pressed.
|
selected user will be shared with the bot when the corresponding button is pressed.
|
||||||
|
|
|
@ -55,7 +55,7 @@ from telegram._payment.successfulpayment import SuccessfulPayment
|
||||||
from telegram._poll import Poll
|
from telegram._poll import Poll
|
||||||
from telegram._proximityalerttriggered import ProximityAlertTriggered
|
from telegram._proximityalerttriggered import ProximityAlertTriggered
|
||||||
from telegram._reply import ReplyParameters
|
from telegram._reply import ReplyParameters
|
||||||
from telegram._shared import ChatShared, UserShared, UsersShared
|
from telegram._shared import ChatShared, UsersShared
|
||||||
from telegram._story import Story
|
from telegram._story import Story
|
||||||
from telegram._telegramobject import TelegramObject
|
from telegram._telegramobject import TelegramObject
|
||||||
from telegram._user import User
|
from telegram._user import User
|
||||||
|
@ -71,10 +71,6 @@ from telegram._utils.types import (
|
||||||
ReplyMarkup,
|
ReplyMarkup,
|
||||||
)
|
)
|
||||||
from telegram._utils.warnings import warn
|
from telegram._utils.warnings import warn
|
||||||
from telegram._utils.warnings_transition import (
|
|
||||||
build_deprecation_warning_message,
|
|
||||||
warn_about_deprecated_attr_in_property,
|
|
||||||
)
|
|
||||||
from telegram._videochat import (
|
from telegram._videochat import (
|
||||||
VideoChatEnded,
|
VideoChatEnded,
|
||||||
VideoChatParticipantsInvited,
|
VideoChatParticipantsInvited,
|
||||||
|
@ -124,6 +120,9 @@ class MaybeInaccessibleMessage(TelegramObject):
|
||||||
Objects of this class are comparable in terms of equality. Two objects of this class are
|
Objects of this class are comparable in terms of equality. Two objects of this class are
|
||||||
considered equal, if their :attr:`message_id` and :attr:`chat` are equal
|
considered equal, if their :attr:`message_id` and :attr:`chat` are equal
|
||||||
|
|
||||||
|
.. versionchanged:: NEXT.VERSION
|
||||||
|
``__bool__`` is no longer overriden and defaults to Pythons standard implementation.
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
.. versionadded:: 20.8
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -162,51 +161,6 @@ class MaybeInaccessibleMessage(TelegramObject):
|
||||||
|
|
||||||
self._freeze()
|
self._freeze()
|
||||||
|
|
||||||
def __bool__(self) -> bool:
|
|
||||||
"""Overrides :meth:`object.__bool__` to return the value of :attr:`is_accessible`.
|
|
||||||
This is intended to ease migration to Bot API 7.0, as this allows checks like
|
|
||||||
|
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
if message.pinned_message:
|
|
||||||
...
|
|
||||||
|
|
||||||
to work as before, when ``message.pinned_message`` was :obj:`None`. Note that this does not
|
|
||||||
help with check like
|
|
||||||
|
|
||||||
.. code-block:: python
|
|
||||||
|
|
||||||
if message.pinned_message is None:
|
|
||||||
...
|
|
||||||
|
|
||||||
for cases where ``message.pinned_message`` is now no longer :obj:`None`.
|
|
||||||
|
|
||||||
Tip:
|
|
||||||
Since objects that can only be of type :class:`~telegram.Message` or :obj:`None` are
|
|
||||||
not affected by this change, :meth:`Message.__bool__` is not overridden and will
|
|
||||||
continue to work as before.
|
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
This behavior is introduced only temporarily to ease migration to Bot API 7.0. It will
|
|
||||||
be removed along with other functionality deprecated by Bot API 7.0.
|
|
||||||
"""
|
|
||||||
# Once we remove this method, also remove `Message.__bool__`.
|
|
||||||
warn(
|
|
||||||
category=PTBDeprecationWarning,
|
|
||||||
message=(
|
|
||||||
"You probably see this warning "
|
|
||||||
"because you wrote `if callback_query.message` or `if message.pinned_message` in "
|
|
||||||
"your code. This is not the supported way of checking the existence of a message "
|
|
||||||
"as of API 7.0. Please use `if message.is_accessible` or `if isinstance(message, "
|
|
||||||
"Message)` instead. `if message is None` may be suitable for specific use cases "
|
|
||||||
f"as well.\n`{self.__class__.__name__}.__bool__` will be reverted to Pythons "
|
|
||||||
f"default implementation in future versions."
|
|
||||||
),
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
return self.is_accessible
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def is_accessible(self) -> bool:
|
def is_accessible(self) -> bool:
|
||||||
"""Convenience attribute. :obj:`True`, if the date is not 0 in Unix time.
|
"""Convenience attribute. :obj:`True`, if the date is not 0 in Unix time.
|
||||||
|
@ -218,7 +172,9 @@ class MaybeInaccessibleMessage(TelegramObject):
|
||||||
return self.date != ZERO_DATE
|
return self.date != ZERO_DATE
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def de_json(cls, data: Optional[JSONDict], bot: "Bot") -> Optional["MaybeInaccessibleMessage"]:
|
def _de_json(
|
||||||
|
cls, data: Optional[JSONDict], bot: "Bot", api_kwargs: Optional[JSONDict] = None
|
||||||
|
) -> Optional["MaybeInaccessibleMessage"]:
|
||||||
"""See :meth:`telegram.TelegramObject.de_json`."""
|
"""See :meth:`telegram.TelegramObject.de_json`."""
|
||||||
data = cls._parse_data(data)
|
data = cls._parse_data(data)
|
||||||
|
|
||||||
|
@ -240,7 +196,7 @@ class MaybeInaccessibleMessage(TelegramObject):
|
||||||
data["date"] = from_timestamp(data["date"], tzinfo=loc_tzinfo)
|
data["date"] = from_timestamp(data["date"], tzinfo=loc_tzinfo)
|
||||||
|
|
||||||
data["chat"] = Chat.de_json(data.get("chat"), bot)
|
data["chat"] = Chat.de_json(data.get("chat"), bot)
|
||||||
return super().de_json(data=data, bot=bot)
|
return super()._de_json(data=data, bot=bot)
|
||||||
|
|
||||||
|
|
||||||
class InaccessibleMessage(MaybeInaccessibleMessage):
|
class InaccessibleMessage(MaybeInaccessibleMessage):
|
||||||
|
@ -287,6 +243,11 @@ class Message(MaybeInaccessibleMessage):
|
||||||
Note:
|
Note:
|
||||||
In Python :keyword:`from` is a reserved word. Use :paramref:`from_user` instead.
|
In Python :keyword:`from` is a reserved word. Use :paramref:`from_user` instead.
|
||||||
|
|
||||||
|
.. versionchanged:: NEXT.VERSION
|
||||||
|
Removed deprecated arguments and attributes ``user_shared``, ``forward_from``,
|
||||||
|
``forward_from_chat``, ``forward_from_message_id``, ``forward_signature``,
|
||||||
|
``forward_sender_name`` and ``forward_date``.
|
||||||
|
|
||||||
.. versionchanged:: 20.8
|
.. versionchanged:: 20.8
|
||||||
* This class is now a subclass of :class:`telegram.MaybeInaccessibleMessage`.
|
* This class is now a subclass of :class:`telegram.MaybeInaccessibleMessage`.
|
||||||
* The :paramref:`pinned_message` now can be either class:`telegram.Message` or
|
* The :paramref:`pinned_message` now can be either class:`telegram.Message` or
|
||||||
|
@ -323,39 +284,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
.. versionchanged:: 20.3
|
.. versionchanged:: 20.3
|
||||||
|datetime_localization|
|
|datetime_localization|
|
||||||
chat (:class:`telegram.Chat`): Conversation the message belongs to.
|
chat (:class:`telegram.Chat`): Conversation the message belongs to.
|
||||||
forward_from (:class:`telegram.User`, optional): For forwarded messages, sender of
|
|
||||||
the original message.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :paramref:`forward_from` in favor of
|
|
||||||
:paramref:`forward_origin`.
|
|
||||||
forward_from_chat (:class:`telegram.Chat`, optional): For messages forwarded from channels
|
|
||||||
or from anonymous administrators, information about the original sender chat.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :paramref:`forward_from_chat` in favor of
|
|
||||||
:paramref:`forward_origin`.
|
|
||||||
forward_from_message_id (:obj:`int`, optional): For forwarded channel posts, identifier of
|
|
||||||
the original message in the channel.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :paramref:`forward_from_message_id` in favor of
|
|
||||||
:paramref:`forward_origin`.
|
|
||||||
forward_sender_name (:obj:`str`, optional): Sender's name for messages forwarded from
|
|
||||||
users who disallow adding a link to their account in forwarded messages.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :paramref:`forward_sender_name` in favor of
|
|
||||||
:paramref:`forward_origin`.
|
|
||||||
forward_date (:class:`datetime.datetime`, optional): For forwarded messages, date the
|
|
||||||
original message was sent in Unix time. Converted to :class:`datetime.datetime`.
|
|
||||||
|
|
||||||
.. versionchanged:: 20.3
|
|
||||||
|datetime_localization|
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :paramref:`forward_date` in favor of
|
|
||||||
:paramref:`forward_origin`.
|
|
||||||
is_automatic_forward (:obj:`bool`, optional): :obj:`True`, if the message is a channel
|
is_automatic_forward (:obj:`bool`, optional): :obj:`True`, if the message is a channel
|
||||||
post that was automatically forwarded to the connected discussion group.
|
post that was automatically forwarded to the connected discussion group.
|
||||||
|
|
||||||
|
@ -481,12 +409,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
message about a successful payment, information about the payment.
|
message about a successful payment, information about the payment.
|
||||||
connected_website (:obj:`str`, optional): The domain name of the website on which the user
|
connected_website (:obj:`str`, optional): The domain name of the website on which the user
|
||||||
has logged in.
|
has logged in.
|
||||||
forward_signature (:obj:`str`, optional): For messages forwarded from channels, signature
|
|
||||||
of the post author if present.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :paramref:`forward_signature` in favor of
|
|
||||||
:paramref:`forward_origin`.
|
|
||||||
author_signature (:obj:`str`, optional): Signature of the post author for messages in
|
author_signature (:obj:`str`, optional): Signature of the post author for messages in
|
||||||
channels, or the custom title of an anonymous group administrator.
|
channels, or the custom title of an anonymous group administrator.
|
||||||
passport_data (:class:`telegram.PassportData`, optional): Telegram Passport data.
|
passport_data (:class:`telegram.PassportData`, optional): Telegram Passport data.
|
||||||
|
@ -563,12 +485,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
by a spoiler animation.
|
by a spoiler animation.
|
||||||
|
|
||||||
.. versionadded:: 20.0
|
.. versionadded:: 20.0
|
||||||
user_shared (:class:`telegram.UserShared`, optional): Service message: a user was shared
|
|
||||||
with the bot.
|
|
||||||
|
|
||||||
.. versionadded:: 20.1
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :paramref:`user_shared` in favor of :paramref:`users_shared`.
|
|
||||||
users_shared (:class:`telegram.UsersShared`, optional): Service message: users were shared
|
users_shared (:class:`telegram.UsersShared`, optional): Service message: users were shared
|
||||||
with the bot
|
with the bot
|
||||||
|
|
||||||
|
@ -888,13 +804,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
# fmt: on
|
# fmt: on
|
||||||
__slots__ = (
|
__slots__ = (
|
||||||
"_effective_attachment",
|
"_effective_attachment",
|
||||||
"_forward_date",
|
|
||||||
"_forward_from",
|
|
||||||
"_forward_from_chat",
|
|
||||||
"_forward_from_message_id",
|
|
||||||
"_forward_sender_name",
|
|
||||||
"_forward_signature",
|
|
||||||
"_user_shared",
|
|
||||||
"animation",
|
"animation",
|
||||||
"audio",
|
"audio",
|
||||||
"author_signature",
|
"author_signature",
|
||||||
|
@ -974,10 +883,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
date: datetime.datetime,
|
date: datetime.datetime,
|
||||||
chat: Chat,
|
chat: Chat,
|
||||||
from_user: Optional[User] = None,
|
from_user: Optional[User] = None,
|
||||||
forward_from: Optional[User] = None,
|
|
||||||
forward_from_chat: Optional[Chat] = None,
|
|
||||||
forward_from_message_id: Optional[int] = None,
|
|
||||||
forward_date: Optional[datetime.datetime] = None,
|
|
||||||
reply_to_message: Optional["Message"] = None,
|
reply_to_message: Optional["Message"] = None,
|
||||||
edit_date: Optional[datetime.datetime] = None,
|
edit_date: Optional[datetime.datetime] = None,
|
||||||
text: Optional[str] = None,
|
text: Optional[str] = None,
|
||||||
|
@ -1008,14 +913,12 @@ class Message(MaybeInaccessibleMessage):
|
||||||
pinned_message: Optional[MaybeInaccessibleMessage] = None,
|
pinned_message: Optional[MaybeInaccessibleMessage] = None,
|
||||||
invoice: Optional[Invoice] = None,
|
invoice: Optional[Invoice] = None,
|
||||||
successful_payment: Optional[SuccessfulPayment] = None,
|
successful_payment: Optional[SuccessfulPayment] = None,
|
||||||
forward_signature: Optional[str] = None,
|
|
||||||
author_signature: Optional[str] = None,
|
author_signature: Optional[str] = None,
|
||||||
media_group_id: Optional[str] = None,
|
media_group_id: Optional[str] = None,
|
||||||
connected_website: Optional[str] = None,
|
connected_website: Optional[str] = None,
|
||||||
animation: Optional[Animation] = None,
|
animation: Optional[Animation] = None,
|
||||||
passport_data: Optional[PassportData] = None,
|
passport_data: Optional[PassportData] = None,
|
||||||
poll: Optional[Poll] = None,
|
poll: Optional[Poll] = None,
|
||||||
forward_sender_name: Optional[str] = None,
|
|
||||||
reply_markup: Optional[InlineKeyboardMarkup] = None,
|
reply_markup: Optional[InlineKeyboardMarkup] = None,
|
||||||
dice: Optional[Dice] = None,
|
dice: Optional[Dice] = None,
|
||||||
via_bot: Optional[User] = None,
|
via_bot: Optional[User] = None,
|
||||||
|
@ -1039,7 +942,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
general_forum_topic_unhidden: Optional[GeneralForumTopicUnhidden] = None,
|
general_forum_topic_unhidden: Optional[GeneralForumTopicUnhidden] = None,
|
||||||
write_access_allowed: Optional[WriteAccessAllowed] = None,
|
write_access_allowed: Optional[WriteAccessAllowed] = None,
|
||||||
has_media_spoiler: Optional[bool] = None,
|
has_media_spoiler: Optional[bool] = None,
|
||||||
user_shared: Optional[UserShared] = None,
|
|
||||||
chat_shared: Optional[ChatShared] = None,
|
chat_shared: Optional[ChatShared] = None,
|
||||||
story: Optional[Story] = None,
|
story: Optional[Story] = None,
|
||||||
giveaway: Optional["Giveaway"] = None,
|
giveaway: Optional["Giveaway"] = None,
|
||||||
|
@ -1056,49 +958,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
):
|
):
|
||||||
super().__init__(chat=chat, message_id=message_id, date=date, api_kwargs=api_kwargs)
|
super().__init__(chat=chat, message_id=message_id, date=date, api_kwargs=api_kwargs)
|
||||||
|
|
||||||
if user_shared:
|
|
||||||
warn(
|
|
||||||
build_deprecation_warning_message(
|
|
||||||
deprecated_name="user_shared",
|
|
||||||
new_name="users_shared",
|
|
||||||
object_type="parameter",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
),
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
|
|
||||||
if any(
|
|
||||||
(
|
|
||||||
forward_from,
|
|
||||||
forward_from_chat,
|
|
||||||
forward_from_message_id,
|
|
||||||
forward_signature,
|
|
||||||
forward_sender_name,
|
|
||||||
forward_date,
|
|
||||||
)
|
|
||||||
):
|
|
||||||
if forward_from:
|
|
||||||
_warn_param = "forward_from"
|
|
||||||
elif forward_from_chat:
|
|
||||||
_warn_param = "forward_from_chat"
|
|
||||||
elif forward_from_message_id:
|
|
||||||
_warn_param = "forward_from_message_id"
|
|
||||||
elif forward_signature:
|
|
||||||
_warn_param = "forward_signature"
|
|
||||||
elif forward_sender_name:
|
|
||||||
_warn_param = "forward_sender_name"
|
|
||||||
else:
|
|
||||||
_warn_param = "forward_date"
|
|
||||||
|
|
||||||
warn(
|
|
||||||
f"The information about parameter '{_warn_param}' was transferred to "
|
|
||||||
"'forward_origin' in Bot API 7.0. We recommend using 'forward_origin' instead of "
|
|
||||||
f"'{_warn_param}'",
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
|
|
||||||
with self._unfrozen():
|
with self._unfrozen():
|
||||||
# Required
|
# Required
|
||||||
self.message_id: int = message_id
|
self.message_id: int = message_id
|
||||||
|
@ -1107,9 +966,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
self.sender_chat: Optional[Chat] = sender_chat
|
self.sender_chat: Optional[Chat] = sender_chat
|
||||||
self.date: datetime.datetime = date
|
self.date: datetime.datetime = date
|
||||||
self.chat: Chat = chat
|
self.chat: Chat = chat
|
||||||
self._forward_from: Optional[User] = forward_from
|
|
||||||
self._forward_from_chat: Optional[Chat] = forward_from_chat
|
|
||||||
self._forward_date: Optional[datetime.datetime] = forward_date
|
|
||||||
self.is_automatic_forward: Optional[bool] = is_automatic_forward
|
self.is_automatic_forward: Optional[bool] = is_automatic_forward
|
||||||
self.reply_to_message: Optional[Message] = reply_to_message
|
self.reply_to_message: Optional[Message] = reply_to_message
|
||||||
self.edit_date: Optional[datetime.datetime] = edit_date
|
self.edit_date: Optional[datetime.datetime] = edit_date
|
||||||
|
@ -1143,12 +999,9 @@ class Message(MaybeInaccessibleMessage):
|
||||||
message_auto_delete_timer_changed
|
message_auto_delete_timer_changed
|
||||||
)
|
)
|
||||||
self.pinned_message: Optional[MaybeInaccessibleMessage] = pinned_message
|
self.pinned_message: Optional[MaybeInaccessibleMessage] = pinned_message
|
||||||
self._forward_from_message_id: Optional[int] = forward_from_message_id
|
|
||||||
self.invoice: Optional[Invoice] = invoice
|
self.invoice: Optional[Invoice] = invoice
|
||||||
self.successful_payment: Optional[SuccessfulPayment] = successful_payment
|
self.successful_payment: Optional[SuccessfulPayment] = successful_payment
|
||||||
self.connected_website: Optional[str] = connected_website
|
self.connected_website: Optional[str] = connected_website
|
||||||
self._forward_signature: Optional[str] = forward_signature
|
|
||||||
self._forward_sender_name: Optional[str] = forward_sender_name
|
|
||||||
self.author_signature: Optional[str] = author_signature
|
self.author_signature: Optional[str] = author_signature
|
||||||
self.media_group_id: Optional[str] = media_group_id
|
self.media_group_id: Optional[str] = media_group_id
|
||||||
self.animation: Optional[Animation] = animation
|
self.animation: Optional[Animation] = animation
|
||||||
|
@ -1181,7 +1034,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
)
|
)
|
||||||
self.write_access_allowed: Optional[WriteAccessAllowed] = write_access_allowed
|
self.write_access_allowed: Optional[WriteAccessAllowed] = write_access_allowed
|
||||||
self.has_media_spoiler: Optional[bool] = has_media_spoiler
|
self.has_media_spoiler: Optional[bool] = has_media_spoiler
|
||||||
self._user_shared: Optional[UserShared] = user_shared
|
|
||||||
self.users_shared: Optional[UsersShared] = users_shared
|
self.users_shared: Optional[UsersShared] = users_shared
|
||||||
self.chat_shared: Optional[ChatShared] = chat_shared
|
self.chat_shared: Optional[ChatShared] = chat_shared
|
||||||
self.story: Optional[Story] = story
|
self.story: Optional[Story] = story
|
||||||
|
@ -1198,132 +1050,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
|
|
||||||
self._id_attrs = (self.message_id, self.chat)
|
self._id_attrs = (self.message_id, self.chat)
|
||||||
|
|
||||||
def __bool__(self) -> bool:
|
|
||||||
"""Overrides :meth:`telegram.MaybeInaccessibleMessage.__bool__` to use Pythons
|
|
||||||
default implementation of :meth:`object.__bool__` instead.
|
|
||||||
|
|
||||||
Tip:
|
|
||||||
The current behavior is the same as before the introduction of
|
|
||||||
:class:`telegram.MaybeInaccessibleMessage`. This documentation is relevant only until
|
|
||||||
:meth:`telegram.MaybeInaccessibleMessage.__bool__` is removed.
|
|
||||||
"""
|
|
||||||
return True
|
|
||||||
|
|
||||||
@property
|
|
||||||
def user_shared(self) -> Optional[UserShared]:
|
|
||||||
""":class:`telegram.UserShared`: Optional. Service message. A user was shared with the
|
|
||||||
bot.
|
|
||||||
|
|
||||||
Hint:
|
|
||||||
In case a single user was shared, :attr:`user_shared` will be present in addition to
|
|
||||||
:attr:`users_shared`. If multiple users where shared, only :attr:`users_shared` will
|
|
||||||
be present. However, this behavior is not documented and may be changed by Telegram.
|
|
||||||
|
|
||||||
.. versionadded:: 20.1
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :attr:`user_shared` in favor of :attr:`users_shared`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="user_shared",
|
|
||||||
new_attr_name="users_shared",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self._user_shared
|
|
||||||
|
|
||||||
@property
|
|
||||||
def forward_from(self) -> Optional[User]:
|
|
||||||
""":class:`telegram.User`: Optional. For forwarded messages, sender of the original
|
|
||||||
message.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :attr:`forward_from` in favor of :attr:`forward_origin`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="forward_from",
|
|
||||||
new_attr_name="forward_origin",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self._forward_from
|
|
||||||
|
|
||||||
@property
|
|
||||||
def forward_from_chat(self) -> Optional[Chat]:
|
|
||||||
""":class:`telegram.Chat`: Optional. For messages forwarded from channels or from anonymous
|
|
||||||
administrators, information about the original sender chat.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :attr:`forward_from_chat` in favor of :attr:`forward_origin`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="forward_from_chat",
|
|
||||||
new_attr_name="forward_origin",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self._forward_from_chat
|
|
||||||
|
|
||||||
@property
|
|
||||||
def forward_from_message_id(self) -> Optional[int]:
|
|
||||||
""":obj:`int`: Optional. For forwarded channel posts, identifier of the original message
|
|
||||||
in the channel.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :attr:`forward_from_message_id` in favor of
|
|
||||||
:attr:`forward_origin`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="forward_from_message_id",
|
|
||||||
new_attr_name="forward_origin",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self._forward_from_message_id
|
|
||||||
|
|
||||||
@property
|
|
||||||
def forward_signature(self) -> Optional[str]:
|
|
||||||
""":obj:`str`: Optional. For messages forwarded from channels, signature
|
|
||||||
of the post author if present.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :attr:`forward_signature` in favor of :attr:`forward_origin`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="forward_signature",
|
|
||||||
new_attr_name="forward_origin",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self._forward_signature
|
|
||||||
|
|
||||||
@property
|
|
||||||
def forward_sender_name(self) -> Optional[str]:
|
|
||||||
""":class:`telegram.User`: Optional. Sender's name for messages forwarded from users who
|
|
||||||
disallow adding a link to their account in forwarded messages.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :attr:`forward_sender_name` in favor of :attr:`forward_origin`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="forward_sender_name",
|
|
||||||
new_attr_name="forward_origin",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self._forward_sender_name
|
|
||||||
|
|
||||||
@property
|
|
||||||
def forward_date(self) -> Optional[datetime.datetime]:
|
|
||||||
""":obj:`datetime.datetime`: Optional. For forwarded messages, date the original message
|
|
||||||
was sent in Unix time. Converted to :class:`datetime.datetime`.
|
|
||||||
|
|
||||||
.. versionchanged:: 20.3
|
|
||||||
|datetime_localization|
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates :attr:`forward_date` in favor of :attr:`forward_origin`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="forward_date",
|
|
||||||
new_attr_name="forward_origin",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self._forward_date
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def chat_id(self) -> int:
|
def chat_id(self) -> int:
|
||||||
""":obj:`int`: Shortcut for :attr:`telegram.Chat.id` for :attr:`chat`."""
|
""":obj:`int`: Shortcut for :attr:`telegram.Chat.id` for :attr:`chat`."""
|
||||||
|
@ -1373,9 +1099,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
data["sender_chat"] = Chat.de_json(data.get("sender_chat"), bot)
|
data["sender_chat"] = Chat.de_json(data.get("sender_chat"), bot)
|
||||||
data["entities"] = MessageEntity.de_list(data.get("entities"), bot)
|
data["entities"] = MessageEntity.de_list(data.get("entities"), bot)
|
||||||
data["caption_entities"] = MessageEntity.de_list(data.get("caption_entities"), bot)
|
data["caption_entities"] = MessageEntity.de_list(data.get("caption_entities"), bot)
|
||||||
data["forward_from"] = User.de_json(data.get("forward_from"), bot)
|
|
||||||
data["forward_from_chat"] = Chat.de_json(data.get("forward_from_chat"), bot)
|
|
||||||
data["forward_date"] = from_timestamp(data.get("forward_date"), tzinfo=loc_tzinfo)
|
|
||||||
data["reply_to_message"] = Message.de_json(data.get("reply_to_message"), bot)
|
data["reply_to_message"] = Message.de_json(data.get("reply_to_message"), bot)
|
||||||
data["edit_date"] = from_timestamp(data.get("edit_date"), tzinfo=loc_tzinfo)
|
data["edit_date"] = from_timestamp(data.get("edit_date"), tzinfo=loc_tzinfo)
|
||||||
data["audio"] = Audio.de_json(data.get("audio"), bot)
|
data["audio"] = Audio.de_json(data.get("audio"), bot)
|
||||||
|
@ -1434,7 +1157,6 @@ class Message(MaybeInaccessibleMessage):
|
||||||
data["write_access_allowed"] = WriteAccessAllowed.de_json(
|
data["write_access_allowed"] = WriteAccessAllowed.de_json(
|
||||||
data.get("write_access_allowed"), bot
|
data.get("write_access_allowed"), bot
|
||||||
)
|
)
|
||||||
data["user_shared"] = UserShared.de_json(data.get("user_shared"), bot)
|
|
||||||
data["users_shared"] = UsersShared.de_json(data.get("users_shared"), bot)
|
data["users_shared"] = UsersShared.de_json(data.get("users_shared"), bot)
|
||||||
data["chat_shared"] = ChatShared.de_json(data.get("chat_shared"), bot)
|
data["chat_shared"] = ChatShared.de_json(data.get("chat_shared"), bot)
|
||||||
|
|
||||||
|
@ -1464,7 +1186,24 @@ class Message(MaybeInaccessibleMessage):
|
||||||
data["quote"] = TextQuote.de_json(data.get("quote"), bot)
|
data["quote"] = TextQuote.de_json(data.get("quote"), bot)
|
||||||
data["forward_origin"] = MessageOrigin.de_json(data.get("forward_origin"), bot)
|
data["forward_origin"] = MessageOrigin.de_json(data.get("forward_origin"), bot)
|
||||||
|
|
||||||
return super().de_json(data=data, bot=bot) # type: ignore[return-value]
|
api_kwargs = {}
|
||||||
|
# This is a deprecated field that TG still returns for backwards compatibility
|
||||||
|
# Let's filter it out to speed up the de-json process
|
||||||
|
for key in (
|
||||||
|
"user_shared",
|
||||||
|
"forward_from",
|
||||||
|
"forward_from_chat",
|
||||||
|
"forward_from_message_id",
|
||||||
|
"forward_signature",
|
||||||
|
"forward_sender_name",
|
||||||
|
"forward_date",
|
||||||
|
):
|
||||||
|
if entry := data.get(key):
|
||||||
|
api_kwargs = {key: entry}
|
||||||
|
|
||||||
|
return super()._de_json( # type: ignore[return-value]
|
||||||
|
data=data, bot=bot, api_kwargs=api_kwargs
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def effective_attachment(
|
def effective_attachment(
|
||||||
|
@ -1764,17 +1503,17 @@ class Message(MaybeInaccessibleMessage):
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1829,17 +1568,17 @@ class Message(MaybeInaccessibleMessage):
|
||||||
async def reply_markdown(
|
async def reply_markdown(
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1904,17 +1643,17 @@ class Message(MaybeInaccessibleMessage):
|
||||||
async def reply_markdown_v2(
|
async def reply_markdown_v2(
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1975,17 +1714,17 @@ class Message(MaybeInaccessibleMessage):
|
||||||
async def reply_html(
|
async def reply_html(
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2049,12 +1788,12 @@ class Message(MaybeInaccessibleMessage):
|
||||||
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
||||||
],
|
],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2114,16 +1853,16 @@ class Message(MaybeInaccessibleMessage):
|
||||||
photo: Union[FileInput, "PhotoSize"],
|
photo: Union[FileInput, "PhotoSize"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
has_spoiler: Optional[bool] = None,
|
has_spoiler: Optional[bool] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2185,16 +1924,16 @@ class Message(MaybeInaccessibleMessage):
|
||||||
title: Optional[str] = None,
|
title: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2256,17 +1995,17 @@ class Message(MaybeInaccessibleMessage):
|
||||||
document: Union[FileInput, "Document"],
|
document: Union[FileInput, "Document"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_content_type_detection: Optional[bool] = None,
|
disable_content_type_detection: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2330,9 +2069,7 @@ class Message(MaybeInaccessibleMessage):
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -2340,6 +2077,8 @@ class Message(MaybeInaccessibleMessage):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2401,14 +2140,14 @@ class Message(MaybeInaccessibleMessage):
|
||||||
self,
|
self,
|
||||||
sticker: Union[FileInput, "Sticker"],
|
sticker: Union[FileInput, "Sticker"],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2463,13 +2202,11 @@ class Message(MaybeInaccessibleMessage):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
width: Optional[int] = None,
|
width: Optional[int] = None,
|
||||||
height: Optional[int] = None,
|
height: Optional[int] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
supports_streaming: Optional[bool] = None,
|
supports_streaming: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -2477,6 +2214,8 @@ class Message(MaybeInaccessibleMessage):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2541,14 +2280,14 @@ class Message(MaybeInaccessibleMessage):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
length: Optional[int] = None,
|
length: Optional[int] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2607,15 +2346,15 @@ class Message(MaybeInaccessibleMessage):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2674,17 +2413,17 @@ class Message(MaybeInaccessibleMessage):
|
||||||
latitude: Optional[float] = None,
|
latitude: Optional[float] = None,
|
||||||
longitude: Optional[float] = None,
|
longitude: Optional[float] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
live_period: Optional[int] = None,
|
live_period: Optional[int] = None,
|
||||||
horizontal_accuracy: Optional[float] = None,
|
horizontal_accuracy: Optional[float] = None,
|
||||||
heading: Optional[int] = None,
|
heading: Optional[int] = None,
|
||||||
proximity_alert_radius: Optional[int] = None,
|
proximity_alert_radius: Optional[int] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
location: Optional[Location] = None,
|
location: Optional[Location] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2747,16 +2486,16 @@ class Message(MaybeInaccessibleMessage):
|
||||||
address: Optional[str] = None,
|
address: Optional[str] = None,
|
||||||
foursquare_id: Optional[str] = None,
|
foursquare_id: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
foursquare_type: Optional[str] = None,
|
foursquare_type: Optional[str] = None,
|
||||||
google_place_id: Optional[str] = None,
|
google_place_id: Optional[str] = None,
|
||||||
google_place_type: Optional[str] = None,
|
google_place_type: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
venue: Optional[Venue] = None,
|
venue: Optional[Venue] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2819,14 +2558,14 @@ class Message(MaybeInaccessibleMessage):
|
||||||
first_name: Optional[str] = None,
|
first_name: Optional[str] = None,
|
||||||
last_name: Optional[str] = None,
|
last_name: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
vcard: Optional[str] = None,
|
vcard: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
contact: Optional[Contact] = None,
|
contact: Optional[Contact] = None,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
|
@ -2889,18 +2628,18 @@ class Message(MaybeInaccessibleMessage):
|
||||||
correct_option_id: Optional[CorrectOptionID] = None,
|
correct_option_id: Optional[CorrectOptionID] = None,
|
||||||
is_closed: Optional[bool] = None,
|
is_closed: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
explanation: Optional[str] = None,
|
explanation: Optional[str] = None,
|
||||||
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
open_period: Optional[int] = None,
|
open_period: Optional[int] = None,
|
||||||
close_date: Optional[Union[int, datetime.datetime]] = None,
|
close_date: Optional[Union[int, datetime.datetime]] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2962,14 +2701,14 @@ class Message(MaybeInaccessibleMessage):
|
||||||
async def reply_dice(
|
async def reply_dice(
|
||||||
self,
|
self,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3055,13 +2794,13 @@ class Message(MaybeInaccessibleMessage):
|
||||||
self,
|
self,
|
||||||
game_short_name: str,
|
game_short_name: str,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3130,18 +2869,18 @@ class Message(MaybeInaccessibleMessage):
|
||||||
need_shipping_address: Optional[bool] = None,
|
need_shipping_address: Optional[bool] = None,
|
||||||
is_flexible: Optional[bool] = None,
|
is_flexible: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
provider_data: Optional[Union[str, object]] = None,
|
provider_data: Optional[Union[str, object]] = None,
|
||||||
send_phone_number_to_provider: Optional[bool] = None,
|
send_phone_number_to_provider: Optional[bool] = None,
|
||||||
send_email_to_provider: Optional[bool] = None,
|
send_email_to_provider: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
max_tip_amount: Optional[int] = None,
|
max_tip_amount: Optional[int] = None,
|
||||||
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3278,13 +3017,13 @@ class Message(MaybeInaccessibleMessage):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3336,13 +3075,13 @@ class Message(MaybeInaccessibleMessage):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
quote: Optional[bool] = None,
|
quote: Optional[bool] = None,
|
||||||
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
do_quote: Optional[Union[bool, _ReplyKwargs]] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3404,11 +3143,11 @@ class Message(MaybeInaccessibleMessage):
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
*,
|
*,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
|
|
@ -21,12 +21,6 @@ from typing import Optional, Sequence, Tuple
|
||||||
|
|
||||||
from telegram._telegramobject import TelegramObject
|
from telegram._telegramobject import TelegramObject
|
||||||
from telegram._utils.types import JSONDict
|
from telegram._utils.types import JSONDict
|
||||||
from telegram._utils.warnings import warn
|
|
||||||
from telegram._utils.warnings_transition import (
|
|
||||||
build_deprecation_warning_message,
|
|
||||||
warn_about_deprecated_attr_in_property,
|
|
||||||
)
|
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
|
||||||
|
|
||||||
|
|
||||||
class UsersShared(TelegramObject):
|
class UsersShared(TelegramObject):
|
||||||
|
@ -38,7 +32,7 @@ class UsersShared(TelegramObject):
|
||||||
considered equal, if their :attr:`request_id` and :attr:`user_ids` are equal.
|
considered equal, if their :attr:`request_id` and :attr:`user_ids` are equal.
|
||||||
|
|
||||||
.. versionadded:: 20.8
|
.. versionadded:: 20.8
|
||||||
Bot API 7.0 replaces :class:`UserShared` with this class. The only difference is that now
|
Bot API 7.0 replaces ``UserShared`` with this class. The only difference is that now
|
||||||
the :attr:`user_ids` is a sequence instead of a single integer.
|
the :attr:`user_ids` is a sequence instead of a single integer.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -78,55 +72,6 @@ class UsersShared(TelegramObject):
|
||||||
self._freeze()
|
self._freeze()
|
||||||
|
|
||||||
|
|
||||||
class UserShared(UsersShared):
|
|
||||||
"""Alias for :class:`UsersShared`, kept for backward compatibility.
|
|
||||||
|
|
||||||
.. versionadded:: 20.1
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Use :class:`UsersShared` instead.
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
__slots__ = ()
|
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
request_id: int,
|
|
||||||
user_id: int,
|
|
||||||
*,
|
|
||||||
api_kwargs: Optional[JSONDict] = None,
|
|
||||||
):
|
|
||||||
super().__init__(request_id, (user_id,), api_kwargs=api_kwargs)
|
|
||||||
|
|
||||||
warn(
|
|
||||||
build_deprecation_warning_message(
|
|
||||||
deprecated_name="UserShared",
|
|
||||||
new_name="UsersShared",
|
|
||||||
object_type="class",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
),
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
|
|
||||||
self._freeze()
|
|
||||||
|
|
||||||
@property
|
|
||||||
def user_id(self) -> int:
|
|
||||||
"""Alias for the first entry of :attr:`UsersShared.user_ids`.
|
|
||||||
|
|
||||||
.. deprecated:: 20.8
|
|
||||||
Bot API 7.0 deprecates this attribute in favor of :attr:`UsersShared.user_ids`.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_attr_in_property(
|
|
||||||
deprecated_attr_name="user_id",
|
|
||||||
new_attr_name="user_ids",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
)
|
|
||||||
return self.user_ids[0]
|
|
||||||
|
|
||||||
|
|
||||||
class ChatShared(TelegramObject):
|
class ChatShared(TelegramObject):
|
||||||
"""
|
"""
|
||||||
This object contains information about the chat whose identifier was shared with the bot
|
This object contains information about the chat whose identifier was shared with the bot
|
||||||
|
|
|
@ -386,17 +386,17 @@ class User(TelegramObject):
|
||||||
self,
|
self,
|
||||||
text: str,
|
text: str,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -506,16 +506,16 @@ class User(TelegramObject):
|
||||||
photo: Union[FileInput, "PhotoSize"],
|
photo: Union[FileInput, "PhotoSize"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
has_spoiler: Optional[bool] = None,
|
has_spoiler: Optional[bool] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -564,12 +564,12 @@ class User(TelegramObject):
|
||||||
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
||||||
],
|
],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -620,16 +620,16 @@ class User(TelegramObject):
|
||||||
title: Optional[str] = None,
|
title: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -719,14 +719,14 @@ class User(TelegramObject):
|
||||||
first_name: Optional[str] = None,
|
first_name: Optional[str] = None,
|
||||||
last_name: Optional[str] = None,
|
last_name: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
vcard: Optional[str] = None,
|
vcard: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
contact: Optional["Contact"] = None,
|
contact: Optional["Contact"] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -771,14 +771,14 @@ class User(TelegramObject):
|
||||||
async def send_dice(
|
async def send_dice(
|
||||||
self,
|
self,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -820,17 +820,17 @@ class User(TelegramObject):
|
||||||
document: Union[FileInput, "Document"],
|
document: Union[FileInput, "Document"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_content_type_detection: Optional[bool] = None,
|
disable_content_type_detection: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -878,13 +878,13 @@ class User(TelegramObject):
|
||||||
self,
|
self,
|
||||||
game_short_name: str,
|
game_short_name: str,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -940,18 +940,18 @@ class User(TelegramObject):
|
||||||
need_shipping_address: Optional[bool] = None,
|
need_shipping_address: Optional[bool] = None,
|
||||||
is_flexible: Optional[bool] = None,
|
is_flexible: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
provider_data: Optional[Union[str, object]] = None,
|
provider_data: Optional[Union[str, object]] = None,
|
||||||
send_phone_number_to_provider: Optional[bool] = None,
|
send_phone_number_to_provider: Optional[bool] = None,
|
||||||
send_email_to_provider: Optional[bool] = None,
|
send_email_to_provider: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
max_tip_amount: Optional[int] = None,
|
max_tip_amount: Optional[int] = None,
|
||||||
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1023,17 +1023,17 @@ class User(TelegramObject):
|
||||||
latitude: Optional[float] = None,
|
latitude: Optional[float] = None,
|
||||||
longitude: Optional[float] = None,
|
longitude: Optional[float] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
live_period: Optional[int] = None,
|
live_period: Optional[int] = None,
|
||||||
horizontal_accuracy: Optional[float] = None,
|
horizontal_accuracy: Optional[float] = None,
|
||||||
heading: Optional[int] = None,
|
heading: Optional[int] = None,
|
||||||
proximity_alert_radius: Optional[int] = None,
|
proximity_alert_radius: Optional[int] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
location: Optional["Location"] = None,
|
location: Optional["Location"] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1086,9 +1086,7 @@ class User(TelegramObject):
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -1096,6 +1094,8 @@ class User(TelegramObject):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1146,14 +1146,14 @@ class User(TelegramObject):
|
||||||
self,
|
self,
|
||||||
sticker: Union[FileInput, "Sticker"],
|
sticker: Union[FileInput, "Sticker"],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1197,13 +1197,11 @@ class User(TelegramObject):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
width: Optional[int] = None,
|
width: Optional[int] = None,
|
||||||
height: Optional[int] = None,
|
height: Optional[int] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
supports_streaming: Optional[bool] = None,
|
supports_streaming: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -1211,6 +1209,8 @@ class User(TelegramObject):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1266,16 +1266,16 @@ class User(TelegramObject):
|
||||||
address: Optional[str] = None,
|
address: Optional[str] = None,
|
||||||
foursquare_id: Optional[str] = None,
|
foursquare_id: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
foursquare_type: Optional[str] = None,
|
foursquare_type: Optional[str] = None,
|
||||||
google_place_id: Optional[str] = None,
|
google_place_id: Optional[str] = None,
|
||||||
google_place_type: Optional[str] = None,
|
google_place_type: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
venue: Optional["Venue"] = None,
|
venue: Optional["Venue"] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1327,14 +1327,14 @@ class User(TelegramObject):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
length: Optional[int] = None,
|
length: Optional[int] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1382,15 +1382,15 @@ class User(TelegramObject):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1443,18 +1443,18 @@ class User(TelegramObject):
|
||||||
correct_option_id: Optional[CorrectOptionID] = None,
|
correct_option_id: Optional[CorrectOptionID] = None,
|
||||||
is_closed: Optional[bool] = None,
|
is_closed: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
explanation: Optional[str] = None,
|
explanation: Optional[str] = None,
|
||||||
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
open_period: Optional[int] = None,
|
open_period: Optional[int] = None,
|
||||||
close_date: Optional[Union[int, datetime]] = None,
|
close_date: Optional[Union[int, datetime]] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1510,13 +1510,13 @@ class User(TelegramObject):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1565,13 +1565,13 @@ class User(TelegramObject):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
|
|
@ -25,6 +25,9 @@ Warning:
|
||||||
"""
|
"""
|
||||||
from typing import Optional, Sequence, Tuple, TypeVar
|
from typing import Optional, Sequence, Tuple, TypeVar
|
||||||
|
|
||||||
|
from telegram._linkpreviewoptions import LinkPreviewOptions
|
||||||
|
from telegram._utils.types import ODVInput
|
||||||
|
|
||||||
T = TypeVar("T")
|
T = TypeVar("T")
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,3 +41,21 @@ def parse_sequence_arg(arg: Optional[Sequence[T]]) -> Tuple[T, ...]:
|
||||||
:obj:`Tuple`: The sequence converted to a tuple or an empty tuple.
|
:obj:`Tuple`: The sequence converted to a tuple or an empty tuple.
|
||||||
"""
|
"""
|
||||||
return tuple(arg) if arg else ()
|
return tuple(arg) if arg else ()
|
||||||
|
|
||||||
|
|
||||||
|
def parse_lpo_and_dwpp(
|
||||||
|
disable_web_page_preview: Optional[bool], link_preview_options: ODVInput[LinkPreviewOptions]
|
||||||
|
) -> ODVInput[LinkPreviewOptions]:
|
||||||
|
"""Wrapper around warn_about_deprecated_arg_return_new_arg. Takes care of converting
|
||||||
|
disable_web_page_preview to LinkPreviewOptions.
|
||||||
|
"""
|
||||||
|
if disable_web_page_preview and link_preview_options:
|
||||||
|
raise ValueError(
|
||||||
|
"Parameters `disable_web_page_preview` and `link_preview_options` are mutually "
|
||||||
|
"exclusive."
|
||||||
|
)
|
||||||
|
|
||||||
|
if disable_web_page_preview is not None:
|
||||||
|
link_preview_options = LinkPreviewOptions(is_disabled=disable_web_page_preview)
|
||||||
|
|
||||||
|
return link_preview_options
|
||||||
|
|
|
@ -25,9 +25,6 @@ inside warnings.py.
|
||||||
"""
|
"""
|
||||||
from typing import Any, Callable, Type
|
from typing import Any, Callable, Type
|
||||||
|
|
||||||
from telegram._linkpreviewoptions import LinkPreviewOptions
|
|
||||||
from telegram._utils.defaultvalue import DefaultValue
|
|
||||||
from telegram._utils.types import ODVInput
|
|
||||||
from telegram._utils.warnings import warn
|
from telegram._utils.warnings import warn
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
from telegram.warnings import PTBDeprecationWarning
|
||||||
|
|
||||||
|
@ -93,28 +90,6 @@ def warn_about_deprecated_arg_return_new_arg(
|
||||||
return new_arg
|
return new_arg
|
||||||
|
|
||||||
|
|
||||||
def warn_for_link_preview_options(
|
|
||||||
disable_web_page_preview: ODVInput[bool], link_preview_options: ODVInput[LinkPreviewOptions]
|
|
||||||
) -> ODVInput[LinkPreviewOptions]:
|
|
||||||
"""Wrapper around warn_about_deprecated_arg_return_new_arg. Takes care of converting
|
|
||||||
disable_web_page_preview to LinkPreviewOptions.
|
|
||||||
"""
|
|
||||||
warn_about_deprecated_arg_return_new_arg(
|
|
||||||
deprecated_arg=disable_web_page_preview,
|
|
||||||
new_arg=link_preview_options,
|
|
||||||
deprecated_arg_name="disable_web_page_preview",
|
|
||||||
new_arg_name="link_preview_options",
|
|
||||||
bot_api_version="7.0",
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
|
|
||||||
# Convert to LinkPreviewOptions:
|
|
||||||
if not isinstance(disable_web_page_preview, DefaultValue):
|
|
||||||
link_preview_options = LinkPreviewOptions(is_disabled=disable_web_page_preview)
|
|
||||||
|
|
||||||
return link_preview_options
|
|
||||||
|
|
||||||
|
|
||||||
def warn_about_deprecated_attr_in_property(
|
def warn_about_deprecated_attr_in_property(
|
||||||
deprecated_attr_name: str,
|
deprecated_attr_name: str,
|
||||||
new_attr_name: str,
|
new_attr_name: str,
|
||||||
|
|
|
@ -558,10 +558,8 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
self,
|
self,
|
||||||
endpoint: str,
|
endpoint: str,
|
||||||
data: JSONDict,
|
data: JSONDict,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
|
@ -570,6 +568,8 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = None,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -767,13 +767,13 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -1603,11 +1603,11 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
message_id: Optional[int] = None,
|
message_id: Optional[int] = None,
|
||||||
inline_message_id: Optional[str] = None,
|
inline_message_id: Optional[str] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
*,
|
*,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2344,9 +2344,7 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -2354,6 +2352,8 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2397,16 +2397,16 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
title: Optional[str] = None,
|
title: Optional[str] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2471,14 +2471,14 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
first_name: Optional[str] = None,
|
first_name: Optional[str] = None,
|
||||||
last_name: Optional[str] = None,
|
last_name: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
vcard: Optional[str] = None,
|
vcard: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
contact: Optional[Contact] = None,
|
contact: Optional[Contact] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2512,14 +2512,14 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
self,
|
self,
|
||||||
chat_id: Union[int, str],
|
chat_id: Union[int, str],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2550,17 +2550,17 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
document: Union[FileInput, "Document"],
|
document: Union[FileInput, "Document"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
disable_content_type_detection: Optional[bool] = None,
|
disable_content_type_detection: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2597,13 +2597,13 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
chat_id: int,
|
chat_id: int,
|
||||||
game_short_name: str,
|
game_short_name: str,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2648,18 +2648,18 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
need_shipping_address: Optional[bool] = None,
|
need_shipping_address: Optional[bool] = None,
|
||||||
is_flexible: Optional[bool] = None,
|
is_flexible: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
reply_markup: Optional["InlineKeyboardMarkup"] = None,
|
||||||
provider_data: Optional[Union[str, object]] = None,
|
provider_data: Optional[Union[str, object]] = None,
|
||||||
send_phone_number_to_provider: Optional[bool] = None,
|
send_phone_number_to_provider: Optional[bool] = None,
|
||||||
send_email_to_provider: Optional[bool] = None,
|
send_email_to_provider: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
max_tip_amount: Optional[int] = None,
|
max_tip_amount: Optional[int] = None,
|
||||||
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
suggested_tip_amounts: Optional[Sequence[int]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2710,17 +2710,17 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
latitude: Optional[float] = None,
|
latitude: Optional[float] = None,
|
||||||
longitude: Optional[float] = None,
|
longitude: Optional[float] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
live_period: Optional[int] = None,
|
live_period: Optional[int] = None,
|
||||||
horizontal_accuracy: Optional[float] = None,
|
horizontal_accuracy: Optional[float] = None,
|
||||||
heading: Optional[int] = None,
|
heading: Optional[int] = None,
|
||||||
proximity_alert_radius: Optional[int] = None,
|
proximity_alert_radius: Optional[int] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
location: Optional[Location] = None,
|
location: Optional[Location] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2759,12 +2759,12 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
Union["InputMediaAudio", "InputMediaDocument", "InputMediaPhoto", "InputMediaVideo"]
|
||||||
],
|
],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2800,16 +2800,16 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
text: str,
|
text: str,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
entities: Optional[Sequence["MessageEntity"]] = None,
|
entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
disable_web_page_preview: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
link_preview_options: ODVInput["LinkPreviewOptions"] = DEFAULT_NONE,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
disable_web_page_preview: Optional[bool] = None,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2844,16 +2844,16 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
photo: Union[FileInput, "PhotoSize"],
|
photo: Union[FileInput, "PhotoSize"],
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
has_spoiler: Optional[bool] = None,
|
has_spoiler: Optional[bool] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2895,18 +2895,18 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
correct_option_id: Optional[CorrectOptionID] = None,
|
correct_option_id: Optional[CorrectOptionID] = None,
|
||||||
is_closed: Optional[bool] = None,
|
is_closed: Optional[bool] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
explanation: Optional[str] = None,
|
explanation: Optional[str] = None,
|
||||||
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
explanation_parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
open_period: Optional[int] = None,
|
open_period: Optional[int] = None,
|
||||||
close_date: Optional[Union[int, datetime]] = None,
|
close_date: Optional[Union[int, datetime]] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
explanation_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2947,14 +2947,14 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
chat_id: Union[int, str],
|
chat_id: Union[int, str],
|
||||||
sticker: Union[FileInput, "Sticker"],
|
sticker: Union[FileInput, "Sticker"],
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
emoji: Optional[str] = None,
|
emoji: Optional[str] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
connect_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -2989,16 +2989,16 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
address: Optional[str] = None,
|
address: Optional[str] = None,
|
||||||
foursquare_id: Optional[str] = None,
|
foursquare_id: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
foursquare_type: Optional[str] = None,
|
foursquare_type: Optional[str] = None,
|
||||||
google_place_id: Optional[str] = None,
|
google_place_id: Optional[str] = None,
|
||||||
google_place_type: Optional[str] = None,
|
google_place_type: Optional[str] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
venue: Optional[Venue] = None,
|
venue: Optional[Venue] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3039,13 +3039,11 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
width: Optional[int] = None,
|
width: Optional[int] = None,
|
||||||
height: Optional[int] = None,
|
height: Optional[int] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
supports_streaming: Optional[bool] = None,
|
supports_streaming: Optional[bool] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
|
@ -3053,6 +3051,8 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3095,14 +3095,14 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
length: Optional[int] = None,
|
length: Optional[int] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
thumbnail: Optional[FileInput] = None,
|
thumbnail: Optional[FileInput] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
@ -3139,15 +3139,15 @@ class ExtBot(Bot, Generic[RLARGS]):
|
||||||
duration: Optional[int] = None,
|
duration: Optional[int] = None,
|
||||||
caption: Optional[str] = None,
|
caption: Optional[str] = None,
|
||||||
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
disable_notification: ODVInput[bool] = DEFAULT_NONE,
|
||||||
reply_to_message_id: Optional[int] = None,
|
|
||||||
reply_markup: Optional[ReplyMarkup] = None,
|
reply_markup: Optional[ReplyMarkup] = None,
|
||||||
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
parse_mode: ODVInput[str] = DEFAULT_NONE,
|
||||||
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
|
||||||
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
caption_entities: Optional[Sequence["MessageEntity"]] = None,
|
||||||
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
protect_content: ODVInput[bool] = DEFAULT_NONE,
|
||||||
message_thread_id: Optional[int] = None,
|
message_thread_id: Optional[int] = None,
|
||||||
reply_parameters: Optional["ReplyParameters"] = None,
|
reply_parameters: Optional["ReplyParameters"] = None,
|
||||||
*,
|
*,
|
||||||
|
reply_to_message_id: Optional[int] = None,
|
||||||
|
allow_sending_without_reply: ODVInput[bool] = DEFAULT_NONE,
|
||||||
filename: Optional[str] = None,
|
filename: Optional[str] = None,
|
||||||
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
read_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
write_timeout: ODVInput[float] = DEFAULT_NONE,
|
||||||
|
|
|
@ -1364,7 +1364,7 @@ FORWARDED = _Forwarded(name="filters.FORWARDED")
|
||||||
|
|
||||||
.. versionchanged:: 20.8
|
.. versionchanged:: 20.8
|
||||||
Now based on :attr:`telegram.Message.forward_origin` instead of
|
Now based on :attr:`telegram.Message.forward_origin` instead of
|
||||||
:attr:`telegram.Message.forward_date`.
|
``telegram.Message.forward_date``.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -1379,8 +1379,8 @@ class ForwardedFrom(_ChatUserBaseFilter):
|
||||||
.. versionadded:: 13.5
|
.. versionadded:: 13.5
|
||||||
|
|
||||||
.. versionchanged:: 20.8
|
.. versionchanged:: 20.8
|
||||||
Was previously based on :attr:`telegram.Message.forward_from` and
|
Was previously based on ``telegram.Message.forward_from`` and
|
||||||
:attr:`telegram.Message.forward_from_chat`.
|
``telegram.Message.forward_from_chat``.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
``MessageHandler(filters.ForwardedFrom(chat_id=1234), callback_method)``
|
``MessageHandler(filters.ForwardedFrom(chat_id=1234), callback_method)``
|
||||||
|
@ -2146,15 +2146,19 @@ class StatusUpdate:
|
||||||
__slots__ = ()
|
__slots__ = ()
|
||||||
|
|
||||||
def filter(self, message: Message) -> bool:
|
def filter(self, message: Message) -> bool:
|
||||||
return bool(message.user_shared)
|
return bool(message.api_kwargs.get("user_shared"))
|
||||||
|
|
||||||
USER_SHARED = _UserShared(name="filters.StatusUpdate.USER_SHARED")
|
USER_SHARED = _UserShared(name="filters.StatusUpdate.USER_SHARED")
|
||||||
"""Messages that contain :attr:`telegram.Message.user_shared`.
|
"""Messages that contain ``"user_shared"`` in :attr:`telegram.TelegramObject.api_kwargs`.
|
||||||
|
|
||||||
Warning:
|
Warning:
|
||||||
This will only catch the legacy :attr:`telegram.Message.user_shared` attribute, not the
|
This will only catch the legacy ``user_shared`` field, not the
|
||||||
new :attr:`telegram.Message.users_shared` attribute!
|
new :attr:`telegram.Message.users_shared` attribute!
|
||||||
|
|
||||||
|
.. versionchanged:: NEXT.VERSION
|
||||||
|
Now relies on :attr:`telegram.TelegramObject.api_kwargs` as the native attribute
|
||||||
|
``Message.user_shared`` was removed.
|
||||||
|
|
||||||
.. versionadded:: 20.1
|
.. versionadded:: 20.1
|
||||||
.. deprecated:: 20.8
|
.. deprecated:: 20.8
|
||||||
Use :attr:`USERS_SHARED` instead.
|
Use :attr:`USERS_SHARED` instead.
|
||||||
|
|
|
@ -20,7 +20,6 @@ import pytest
|
||||||
|
|
||||||
from telegram import InputTextMessageContent, LinkPreviewOptions, MessageEntity
|
from telegram import InputTextMessageContent, LinkPreviewOptions, MessageEntity
|
||||||
from telegram.constants import ParseMode
|
from telegram.constants import ParseMode
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
|
||||||
from tests.auxil.slots import mro_slots
|
from tests.auxil.slots import mro_slots
|
||||||
|
|
||||||
|
|
||||||
|
@ -52,7 +51,6 @@ class TestInputTextMessageContentWithoutRequest(TestInputTextMessageContentBase)
|
||||||
def test_expected_values(self, input_text_message_content):
|
def test_expected_values(self, input_text_message_content):
|
||||||
assert input_text_message_content.parse_mode == self.parse_mode
|
assert input_text_message_content.parse_mode == self.parse_mode
|
||||||
assert input_text_message_content.message_text == self.message_text
|
assert input_text_message_content.message_text == self.message_text
|
||||||
assert input_text_message_content.disable_web_page_preview == self.disable_web_page_preview
|
|
||||||
assert input_text_message_content.entities == tuple(self.entities)
|
assert input_text_message_content.entities == tuple(self.entities)
|
||||||
assert input_text_message_content.link_preview_options == self.link_preview_options
|
assert input_text_message_content.link_preview_options == self.link_preview_options
|
||||||
|
|
||||||
|
@ -95,13 +93,11 @@ class TestInputTextMessageContentWithoutRequest(TestInputTextMessageContentBase)
|
||||||
assert hash(a) != hash(d)
|
assert hash(a) != hash(d)
|
||||||
|
|
||||||
def test_mutually_exclusive(self):
|
def test_mutually_exclusive(self):
|
||||||
with pytest.raises(ValueError, match="'link_preview_options' in Bot API 7.0"):
|
with pytest.raises(ValueError, match="`link_preview_options` are mutually exclusive"):
|
||||||
InputTextMessageContent(
|
InputTextMessageContent(
|
||||||
"text", disable_web_page_preview=True, link_preview_options=LinkPreviewOptions()
|
"text", disable_web_page_preview=True, link_preview_options=LinkPreviewOptions()
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_disable_web_page_preview_deprecated(self):
|
def test_disable_web_page_preview_deprecation(self):
|
||||||
with pytest.warns(
|
itmc = InputTextMessageContent("text", disable_web_page_preview=True)
|
||||||
PTBDeprecationWarning, match="'disable_web_page_preview' to 'link_preview_options'"
|
assert itmc.link_preview_options.is_disabled is True
|
||||||
):
|
|
||||||
InputTextMessageContent("text", disable_web_page_preview=True).disable_web_page_preview
|
|
||||||
|
|
|
@ -549,11 +549,9 @@ async def check_defaults_handling(
|
||||||
}
|
}
|
||||||
# We tested this for a long time, but Bot API 7.0 deprecated it in favor of
|
# We tested this for a long time, but Bot API 7.0 deprecated it in favor of
|
||||||
# reply_parameters. In the transition phase, both exist in a mutually exclusive
|
# reply_parameters. In the transition phase, both exist in a mutually exclusive
|
||||||
# way. Testing both cases would require a lot of additional code, so we just
|
# way. Testing both cases would require a lot of additional code, so we for now are content
|
||||||
# ignore this parameter here until it is removed.
|
# with the explicit tests that we have inplace for allow_sending_without_reply
|
||||||
# Same for disable_web_page_preview
|
|
||||||
kwargs_need_default.discard("allow_sending_without_reply")
|
kwargs_need_default.discard("allow_sending_without_reply")
|
||||||
kwargs_need_default.discard("disable_web_page_preview")
|
|
||||||
|
|
||||||
if method.__name__.endswith("_media_group"):
|
if method.__name__.endswith("_media_group"):
|
||||||
# the parse_mode is applied to the first media item, and we test this elsewhere
|
# the parse_mode is applied to the first media item, and we test this elsewhere
|
||||||
|
|
|
@ -1065,10 +1065,10 @@ class TestFilters:
|
||||||
assert filters.StatusUpdate.WRITE_ACCESS_ALLOWED.check_update(update)
|
assert filters.StatusUpdate.WRITE_ACCESS_ALLOWED.check_update(update)
|
||||||
update.message.write_access_allowed = None
|
update.message.write_access_allowed = None
|
||||||
|
|
||||||
update.message._user_shared = "user_shared"
|
update.message.api_kwargs = {"user_shared": "user_shared"}
|
||||||
assert filters.StatusUpdate.ALL.check_update(update)
|
assert filters.StatusUpdate.ALL.check_update(update)
|
||||||
assert filters.StatusUpdate.USER_SHARED.check_update(update)
|
assert filters.StatusUpdate.USER_SHARED.check_update(update)
|
||||||
update.message._user_shared = None
|
update.message.api_kwargs = {}
|
||||||
|
|
||||||
update.message.users_shared = "users_shared"
|
update.message.users_shared = "users_shared"
|
||||||
assert filters.StatusUpdate.ALL.check_update(update)
|
assert filters.StatusUpdate.ALL.check_update(update)
|
||||||
|
|
|
@ -1061,12 +1061,12 @@ class TestBotWithoutRequest:
|
||||||
|
|
||||||
async def test_send_edit_message_mutually_exclusive_link_preview(self, bot, chat_id):
|
async def test_send_edit_message_mutually_exclusive_link_preview(self, bot, chat_id):
|
||||||
"""Test that link_preview is mutually exclusive with disable_web_page_preview."""
|
"""Test that link_preview is mutually exclusive with disable_web_page_preview."""
|
||||||
with pytest.raises(ValueError, match="'disable_web_page_preview' was renamed to"):
|
with pytest.raises(ValueError, match="`link_preview_options` are mutually exclusive"):
|
||||||
await bot.send_message(
|
await bot.send_message(
|
||||||
chat_id, "text", disable_web_page_preview=True, link_preview_options="something"
|
chat_id, "text", disable_web_page_preview=True, link_preview_options="something"
|
||||||
)
|
)
|
||||||
|
|
||||||
with pytest.raises(ValueError, match="'disable_web_page_preview' was renamed to"):
|
with pytest.raises(ValueError, match="`link_preview_options` are mutually exclusive"):
|
||||||
await bot.edit_message_text(
|
await bot.edit_message_text(
|
||||||
"text", chat_id, 1, disable_web_page_preview=True, link_preview_options="something"
|
"text", chat_id, 1, disable_web_page_preview=True, link_preview_options="something"
|
||||||
)
|
)
|
||||||
|
@ -2120,8 +2120,8 @@ class TestBotWithRequest:
|
||||||
)
|
)
|
||||||
|
|
||||||
assert forward_message.text == message.text
|
assert forward_message.text == message.text
|
||||||
assert forward_message.forward_from.username == message.from_user.username
|
assert forward_message.forward_origin.sender_user == message.from_user
|
||||||
assert isinstance(forward_message.forward_date, dtm.datetime)
|
assert isinstance(forward_message.forward_origin.date, dtm.datetime)
|
||||||
|
|
||||||
async def test_forward_protected_message(self, bot, chat_id):
|
async def test_forward_protected_message(self, bot, chat_id):
|
||||||
tasks = asyncio.gather(
|
tasks = asyncio.gather(
|
||||||
|
@ -2155,7 +2155,7 @@ class TestBotWithRequest:
|
||||||
msg1, msg2 = await tasks
|
msg1, msg2 = await tasks
|
||||||
|
|
||||||
forward_messages = await bot.forward_messages(
|
forward_messages = await bot.forward_messages(
|
||||||
chat_id, from_chat_id=chat_id, message_ids=(msg1.message_id, msg2.message_id)
|
chat_id, from_chat_id=chat_id, message_ids=sorted((msg1.message_id, msg2.message_id))
|
||||||
)
|
)
|
||||||
|
|
||||||
assert isinstance(forward_messages, tuple)
|
assert isinstance(forward_messages, tuple)
|
||||||
|
@ -2174,12 +2174,12 @@ class TestBotWithRequest:
|
||||||
forward_msg2 = temp_msg2.reply_to_message
|
forward_msg2 = temp_msg2.reply_to_message
|
||||||
|
|
||||||
assert forward_msg1.text == msg1.text
|
assert forward_msg1.text == msg1.text
|
||||||
assert forward_msg1.forward_from.username == msg1.from_user.username
|
assert forward_msg1.forward_origin.sender_user == msg1.from_user
|
||||||
assert isinstance(forward_msg1.forward_date, dtm.datetime)
|
assert isinstance(forward_msg1.forward_origin.date, dtm.datetime)
|
||||||
|
|
||||||
assert forward_msg2.text == msg2.text
|
assert forward_msg2.text == msg2.text
|
||||||
assert forward_msg2.forward_from.username == msg2.from_user.username
|
assert forward_msg2.forward_origin.sender_user == msg2.from_user
|
||||||
assert isinstance(forward_msg2.forward_date, dtm.datetime)
|
assert isinstance(forward_msg2.forward_origin.date, dtm.datetime)
|
||||||
|
|
||||||
async def test_delete_message(self, bot, chat_id):
|
async def test_delete_message(self, bot, chat_id):
|
||||||
message = await bot.send_message(chat_id, text="will be deleted")
|
message = await bot.send_message(chat_id, text="will be deleted")
|
||||||
|
|
|
@ -23,11 +23,9 @@ from telegram import (
|
||||||
KeyboardButton,
|
KeyboardButton,
|
||||||
KeyboardButtonPollType,
|
KeyboardButtonPollType,
|
||||||
KeyboardButtonRequestChat,
|
KeyboardButtonRequestChat,
|
||||||
KeyboardButtonRequestUser,
|
|
||||||
KeyboardButtonRequestUsers,
|
KeyboardButtonRequestUsers,
|
||||||
WebAppInfo,
|
WebAppInfo,
|
||||||
)
|
)
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
|
||||||
from tests.auxil.slots import mro_slots
|
from tests.auxil.slots import mro_slots
|
||||||
|
|
||||||
|
|
||||||
|
@ -82,7 +80,8 @@ class TestKeyboardButtonWithoutRequest(TestKeyboardButtonBase):
|
||||||
assert keyboard_button_dict["request_chat"] == keyboard_button.request_chat.to_dict()
|
assert keyboard_button_dict["request_chat"] == keyboard_button.request_chat.to_dict()
|
||||||
assert keyboard_button_dict["request_users"] == keyboard_button.request_users.to_dict()
|
assert keyboard_button_dict["request_users"] == keyboard_button.request_users.to_dict()
|
||||||
|
|
||||||
def test_de_json(self, bot):
|
@pytest.mark.parametrize("request_user", [True, False])
|
||||||
|
def test_de_json(self, bot, request_user):
|
||||||
json_dict = {
|
json_dict = {
|
||||||
"text": self.text,
|
"text": self.text,
|
||||||
"request_location": self.request_location,
|
"request_location": self.request_location,
|
||||||
|
@ -92,45 +91,26 @@ class TestKeyboardButtonWithoutRequest(TestKeyboardButtonBase):
|
||||||
"request_chat": self.request_chat.to_dict(),
|
"request_chat": self.request_chat.to_dict(),
|
||||||
"request_users": self.request_users.to_dict(),
|
"request_users": self.request_users.to_dict(),
|
||||||
}
|
}
|
||||||
|
if request_user:
|
||||||
|
json_dict["request_user"] = {"request_id": 2}
|
||||||
|
|
||||||
inline_keyboard_button = KeyboardButton.de_json(json_dict, None)
|
keyboard_button = KeyboardButton.de_json(json_dict, None)
|
||||||
assert inline_keyboard_button.api_kwargs == {}
|
if request_user:
|
||||||
assert inline_keyboard_button.text == self.text
|
assert keyboard_button.api_kwargs == {"request_user": {"request_id": 2}}
|
||||||
assert inline_keyboard_button.request_location == self.request_location
|
else:
|
||||||
assert inline_keyboard_button.request_contact == self.request_contact
|
assert keyboard_button.api_kwargs == {}
|
||||||
assert inline_keyboard_button.request_poll == self.request_poll
|
|
||||||
assert inline_keyboard_button.web_app == self.web_app
|
assert keyboard_button.text == self.text
|
||||||
assert inline_keyboard_button.request_chat == self.request_chat
|
assert keyboard_button.request_location == self.request_location
|
||||||
assert inline_keyboard_button.request_user == self.request_users
|
assert keyboard_button.request_contact == self.request_contact
|
||||||
assert inline_keyboard_button.request_users == self.request_users
|
assert keyboard_button.request_poll == self.request_poll
|
||||||
|
assert keyboard_button.web_app == self.web_app
|
||||||
|
assert keyboard_button.request_chat == self.request_chat
|
||||||
|
assert keyboard_button.request_users == self.request_users
|
||||||
|
|
||||||
none = KeyboardButton.de_json({}, None)
|
none = KeyboardButton.de_json({}, None)
|
||||||
assert none is None
|
assert none is None
|
||||||
|
|
||||||
def test_request_user_deprecation_mutually_exclusive(self):
|
|
||||||
with pytest.raises(ValueError, match="'request_user' was renamed to 'request_users'"):
|
|
||||||
KeyboardButton(
|
|
||||||
"test",
|
|
||||||
request_users=KeyboardButtonRequestUsers(1),
|
|
||||||
request_user=KeyboardButtonRequestUsers(2),
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_request_user_argument_deprecation_warning(self):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'request_user' to 'request_users'"
|
|
||||||
) as record:
|
|
||||||
KeyboardButton("test", request_user=KeyboardButtonRequestUser(2))
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_request_user_property_deprecation_warning(self, keyboard_button):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'request_user' to 'request_users'"
|
|
||||||
) as record:
|
|
||||||
assert keyboard_button.request_user is keyboard_button.request_users
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_equality(self):
|
def test_equality(self):
|
||||||
a = KeyboardButton("test", request_contact=True)
|
a = KeyboardButton("test", request_contact=True)
|
||||||
b = KeyboardButton("test", request_contact=True)
|
b = KeyboardButton("test", request_contact=True)
|
||||||
|
|
|
@ -16,17 +16,10 @@
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Lesser Public License
|
# You should have received a copy of the GNU Lesser Public License
|
||||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||||
import inspect
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from telegram import (
|
from telegram import ChatAdministratorRights, KeyboardButtonRequestChat, KeyboardButtonRequestUsers
|
||||||
ChatAdministratorRights,
|
|
||||||
KeyboardButtonRequestChat,
|
|
||||||
KeyboardButtonRequestUser,
|
|
||||||
KeyboardButtonRequestUsers,
|
|
||||||
)
|
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
|
||||||
from tests.auxil.slots import mro_slots
|
from tests.auxil.slots import mro_slots
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,28 +85,6 @@ class TestKeyboardButtonRequestUsersWithoutRequest(TestKeyboardButtonRequestUser
|
||||||
assert hash(a) != hash(c)
|
assert hash(a) != hash(c)
|
||||||
|
|
||||||
|
|
||||||
class TestKeyboardButtonRequestUserWithoutRequest:
|
|
||||||
def test_slot_behaviour(self):
|
|
||||||
inst = KeyboardButtonRequestUser(1)
|
|
||||||
for attr in inst.__slots__:
|
|
||||||
assert getattr(inst, attr, "err") != "err", f"got extra slot '{attr}'"
|
|
||||||
assert len(mro_slots(inst)) == len(set(mro_slots(inst))), "duplicate slot"
|
|
||||||
|
|
||||||
def test_signature(self):
|
|
||||||
assert inspect.signature(KeyboardButtonRequestUser) == inspect.signature(
|
|
||||||
KeyboardButtonRequestUsers
|
|
||||||
)
|
|
||||||
|
|
||||||
def test_deprecation_warning(self):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
match="'KeyboardButtonRequestUser' was renamed to 'KeyboardButtonRequestUsers'",
|
|
||||||
) as record:
|
|
||||||
KeyboardButtonRequestUser(request_id=1)
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="class")
|
@pytest.fixture(scope="class")
|
||||||
def request_chat():
|
def request_chat():
|
||||||
return KeyboardButtonRequestChat(
|
return KeyboardButtonRequestChat(
|
||||||
|
|
|
@ -20,10 +20,9 @@ import datetime as dtm
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from telegram import Chat, InaccessibleMessage, MaybeInaccessibleMessage
|
from telegram import Chat, MaybeInaccessibleMessage
|
||||||
from telegram._utils.datetime import UTC, to_timestamp
|
from telegram._utils.datetime import UTC, to_timestamp
|
||||||
from telegram.constants import ZERO_DATE
|
from telegram.constants import ZERO_DATE
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
|
||||||
from tests.auxil.slots import mro_slots
|
from tests.auxil.slots import mro_slots
|
||||||
|
|
||||||
|
|
||||||
|
@ -111,29 +110,6 @@ class TestMaybeInaccessibleMessageWithoutRequest(TestMaybeInaccessibleMessageBas
|
||||||
assert MaybeInaccessibleMessage(self.chat, self.message_id, self.date).is_accessible
|
assert MaybeInaccessibleMessage(self.chat, self.message_id, self.date).is_accessible
|
||||||
assert not MaybeInaccessibleMessage(self.chat, self.message_id, ZERO_DATE).is_accessible
|
assert not MaybeInaccessibleMessage(self.chat, self.message_id, ZERO_DATE).is_accessible
|
||||||
|
|
||||||
def test_bool(self):
|
|
||||||
assert bool(MaybeInaccessibleMessage(self.chat, self.message_id, self.date).is_accessible)
|
|
||||||
assert not bool(
|
|
||||||
MaybeInaccessibleMessage(self.chat, self.message_id, ZERO_DATE).is_accessible
|
|
||||||
)
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("cls", [MaybeInaccessibleMessage, InaccessibleMessage])
|
|
||||||
def test_bool_deprecation_warning(self, cls):
|
|
||||||
if cls is MaybeInaccessibleMessage:
|
|
||||||
args = (self.chat, self.message_id, self.date)
|
|
||||||
else:
|
|
||||||
args = (self.chat, self.message_id)
|
|
||||||
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
match=(
|
|
||||||
f"`{cls.__name__}.__bool__` will be reverted to Pythons default implementation"
|
|
||||||
),
|
|
||||||
) as record:
|
|
||||||
bool(cls(*args))
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_equality(self, maybe_inaccessible_message):
|
def test_equality(self, maybe_inaccessible_message):
|
||||||
a = maybe_inaccessible_message
|
a = maybe_inaccessible_message
|
||||||
b = MaybeInaccessibleMessage(
|
b = MaybeInaccessibleMessage(
|
||||||
|
|
|
@ -98,12 +98,6 @@ def message(bot):
|
||||||
|
|
||||||
@pytest.fixture(
|
@pytest.fixture(
|
||||||
params=[
|
params=[
|
||||||
{"forward_from": User(99, "forward_user", False), "forward_date": datetime.utcnow()},
|
|
||||||
{
|
|
||||||
"forward_from_chat": Chat(-23, "channel"),
|
|
||||||
"forward_from_message_id": 101,
|
|
||||||
"forward_date": datetime.utcnow(),
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"reply_to_message": Message(
|
"reply_to_message": Message(
|
||||||
50, datetime.utcnow(), Chat(13, "channel"), User(9, "i", False)
|
50, datetime.utcnow(), Chat(13, "channel"), User(9, "i", False)
|
||||||
|
@ -165,7 +159,6 @@ def message(bot):
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
{"connected_website": "http://example.com/"},
|
{"connected_website": "http://example.com/"},
|
||||||
{"forward_signature": "some_forward_sign"},
|
|
||||||
{"author_signature": "some_author_sign"},
|
{"author_signature": "some_author_sign"},
|
||||||
{
|
{
|
||||||
"photo": [PhotoSize("photo_id", "unique_id", 50, 50)],
|
"photo": [PhotoSize("photo_id", "unique_id", 50, 50)],
|
||||||
|
@ -224,9 +217,6 @@ def message(bot):
|
||||||
},
|
},
|
||||||
{"web_app_data": WebAppData("some_data", "some_button_text")},
|
{"web_app_data": WebAppData("some_data", "some_button_text")},
|
||||||
{"message_thread_id": 123},
|
{"message_thread_id": 123},
|
||||||
# Using a `UserShared` object here doesn't work, because `to_dict` produces `user_ids`
|
|
||||||
# instead of `user_id` - but that's what we want to test here.
|
|
||||||
{"user_shared": {"request_id": 1, "user_id": 2}},
|
|
||||||
{"users_shared": UsersShared(1, [2, 3])},
|
{"users_shared": UsersShared(1, [2, 3])},
|
||||||
{"chat_shared": ChatShared(3, 4)},
|
{"chat_shared": ChatShared(3, 4)},
|
||||||
{
|
{
|
||||||
|
@ -271,8 +261,6 @@ def message(bot):
|
||||||
{"forward_origin": MessageOriginChat(datetime.utcnow(), Chat(1, Chat.PRIVATE))},
|
{"forward_origin": MessageOriginChat(datetime.utcnow(), Chat(1, Chat.PRIVATE))},
|
||||||
],
|
],
|
||||||
ids=[
|
ids=[
|
||||||
"forwarded_user",
|
|
||||||
"forwarded_channel",
|
|
||||||
"reply",
|
"reply",
|
||||||
"edited",
|
"edited",
|
||||||
"text",
|
"text",
|
||||||
|
@ -305,7 +293,6 @@ def message(bot):
|
||||||
"invoice",
|
"invoice",
|
||||||
"successful_payment",
|
"successful_payment",
|
||||||
"connected_website",
|
"connected_website",
|
||||||
"forward_signature",
|
|
||||||
"author_signature",
|
"author_signature",
|
||||||
"photo_from_media_group",
|
"photo_from_media_group",
|
||||||
"passport_data",
|
"passport_data",
|
||||||
|
@ -324,7 +311,6 @@ def message(bot):
|
||||||
"entities",
|
"entities",
|
||||||
"web_app_data",
|
"web_app_data",
|
||||||
"message_thread_id",
|
"message_thread_id",
|
||||||
"user_shared",
|
|
||||||
"users_shared",
|
"users_shared",
|
||||||
"chat_shared",
|
"chat_shared",
|
||||||
"giveaway",
|
"giveaway",
|
||||||
|
@ -518,7 +504,6 @@ class TestMessageWithoutRequest(TestMessageBase):
|
||||||
"date": int(datetime.now().timestamp()),
|
"date": int(datetime.now().timestamp()),
|
||||||
"chat": None,
|
"chat": None,
|
||||||
"edit_date": int(datetime.now().timestamp()),
|
"edit_date": int(datetime.now().timestamp()),
|
||||||
"forward_date": int(datetime.now().timestamp()),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message_raw = Message.de_json(json_dict, raw_bot)
|
message_raw = Message.de_json(json_dict, raw_bot)
|
||||||
|
@ -534,11 +519,6 @@ class TestMessageWithoutRequest(TestMessageBase):
|
||||||
message_tz.edit_date.replace(tzinfo=None)
|
message_tz.edit_date.replace(tzinfo=None)
|
||||||
)
|
)
|
||||||
|
|
||||||
forward_date_offset = message_tz.forward_date.utcoffset()
|
|
||||||
forward_date_tz_bot_offset = tz_bot.defaults.tzinfo.utcoffset(
|
|
||||||
message_tz.forward_date.replace(tzinfo=None)
|
|
||||||
)
|
|
||||||
|
|
||||||
assert message_raw.date.tzinfo == UTC
|
assert message_raw.date.tzinfo == UTC
|
||||||
assert message_bot.date.tzinfo == UTC
|
assert message_bot.date.tzinfo == UTC
|
||||||
assert date_offset == date_tz_bot_offset
|
assert date_offset == date_tz_bot_offset
|
||||||
|
@ -547,9 +527,21 @@ class TestMessageWithoutRequest(TestMessageBase):
|
||||||
assert message_bot.edit_date.tzinfo == UTC
|
assert message_bot.edit_date.tzinfo == UTC
|
||||||
assert edit_date_offset == edit_date_tz_bot_offset
|
assert edit_date_offset == edit_date_tz_bot_offset
|
||||||
|
|
||||||
assert message_raw.forward_date.tzinfo == UTC
|
def test_de_json_api_kwargs_backward_compatibility(self, bot, message_params):
|
||||||
assert message_bot.forward_date.tzinfo == UTC
|
message_dict = message_params.to_dict()
|
||||||
assert forward_date_offset == forward_date_tz_bot_offset
|
keys = (
|
||||||
|
"user_shared",
|
||||||
|
"forward_from",
|
||||||
|
"forward_from_chat",
|
||||||
|
"forward_from_message_id",
|
||||||
|
"forward_signature",
|
||||||
|
"forward_sender_name",
|
||||||
|
"forward_date",
|
||||||
|
)
|
||||||
|
for key in keys:
|
||||||
|
message_dict[key] = key
|
||||||
|
message = Message.de_json(message_dict, bot)
|
||||||
|
assert message.api_kwargs == {key: key for key in keys}
|
||||||
|
|
||||||
def test_equality(self):
|
def test_equality(self):
|
||||||
id_ = 1
|
id_ = 1
|
||||||
|
@ -572,124 +564,6 @@ class TestMessageWithoutRequest(TestMessageBase):
|
||||||
assert a != e
|
assert a != e
|
||||||
assert hash(a) != hash(e)
|
assert hash(a) != hash(e)
|
||||||
|
|
||||||
def test_user_shared_init_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'user_shared' was renamed to 'users_shared'"
|
|
||||||
) as record:
|
|
||||||
Message(message_id=1, date=self.date, chat=self.chat, user_shared=1)
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_user_shared_property_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'user_shared' to 'users_shared'"
|
|
||||||
) as record:
|
|
||||||
message.user_shared
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_from_init_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_from' was transferred to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
Message(
|
|
||||||
message_id=1, date=self.date, chat=self.chat, forward_from=User(1, "user", False)
|
|
||||||
)
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_from_property_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_from' to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
message.forward_from
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_from_chat_init_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_from_chat' was transferred to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
Message(
|
|
||||||
message_id=1, date=self.date, chat=self.chat, forward_from_chat=Chat(1, "private")
|
|
||||||
)
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_from_chat_property_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_from_chat' to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
message.forward_from_chat
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_from_message_id_init_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
match="'forward_from_message_id' was transferred to 'forward_origin'",
|
|
||||||
) as record:
|
|
||||||
Message(message_id=1, date=self.date, chat=self.chat, forward_from_message_id=1)
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_from_message_id_property_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_from_message_id' to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
message.forward_from_message_id
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_signature_init_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_signature' was transferred to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
Message(message_id=1, date=self.date, chat=self.chat, forward_signature="signature")
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_signature_property_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_signature' to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
message.forward_signature
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_sender_name_init_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning,
|
|
||||||
match="'forward_sender_name' was transferred to 'forward_origin'",
|
|
||||||
) as record:
|
|
||||||
Message(message_id=1, date=self.date, chat=self.chat, forward_sender_name="name")
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_sender_name_property_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_sender_name' to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
message.forward_sender_name
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_date_init_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_date' was transferred to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
Message(message_id=1, date=self.date, chat=self.chat, forward_date=datetime.utcnow())
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_forward_date_property_deprecation(self, message):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'forward_date' to 'forward_origin'"
|
|
||||||
) as record:
|
|
||||||
message.forward_date
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_bool(self, message, recwarn):
|
def test_bool(self, message, recwarn):
|
||||||
# Relevant as long as we override MaybeInaccessibleMessage.__bool__
|
# Relevant as long as we override MaybeInaccessibleMessage.__bool__
|
||||||
# Can be removed once that's removed
|
# Can be removed once that's removed
|
||||||
|
|
|
@ -94,6 +94,13 @@ class ParamTypeCheckingExceptions:
|
||||||
PTB_EXTRA_PARAMS = {
|
PTB_EXTRA_PARAMS = {
|
||||||
"send_contact": {"contact"},
|
"send_contact": {"contact"},
|
||||||
"send_location": {"location"},
|
"send_location": {"location"},
|
||||||
|
"(send_message|edit_message_text)": { # convenience parameters
|
||||||
|
"disable_web_page_preview",
|
||||||
|
},
|
||||||
|
r"(send|copy)_\w+": { # convenience parameters
|
||||||
|
"reply_to_message_id",
|
||||||
|
"allow_sending_without_reply",
|
||||||
|
},
|
||||||
"edit_message_live_location": {"location"},
|
"edit_message_live_location": {"location"},
|
||||||
"send_venue": {"venue"},
|
"send_venue": {"venue"},
|
||||||
"answer_inline_query": {"current_offset"},
|
"answer_inline_query": {"current_offset"},
|
||||||
|
@ -159,25 +166,7 @@ def ignored_param_requirements(object_name: str) -> set[str]:
|
||||||
|
|
||||||
|
|
||||||
# Arguments that are optional arguments for now for backwards compatibility
|
# Arguments that are optional arguments for now for backwards compatibility
|
||||||
BACKWARDS_COMPAT_KWARGS: dict[str, set[str]] = {
|
BACKWARDS_COMPAT_KWARGS: dict[str, set[str]] = {}
|
||||||
# Deprecated by Bot API 7.0, kept for now for bw compat:
|
|
||||||
"KeyboardButton": {"request_user"},
|
|
||||||
"Message": {
|
|
||||||
"forward_from",
|
|
||||||
"forward_signature",
|
|
||||||
"forward_sender_name",
|
|
||||||
"forward_date",
|
|
||||||
"forward_from_chat",
|
|
||||||
"forward_from_message_id",
|
|
||||||
"user_shared",
|
|
||||||
},
|
|
||||||
"(send_message|edit_message_text)": {
|
|
||||||
"disable_web_page_preview",
|
|
||||||
"reply_to_message_id",
|
|
||||||
"allow_sending_without_reply",
|
|
||||||
},
|
|
||||||
r"copy_message|send_\w+": {"allow_sending_without_reply", "reply_to_message_id"},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
def backwards_compat_kwargs(object_name: str) -> set[str]:
|
def backwards_compat_kwargs(object_name: str) -> set[str]:
|
||||||
|
|
|
@ -16,20 +16,13 @@
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU Lesser Public License
|
# You should have received a copy of the GNU Lesser Public License
|
||||||
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
# along with this program. If not, see [http://www.gnu.org/licenses/].
|
||||||
import inspect
|
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from telegram import ChatShared, UserShared, UsersShared
|
from telegram import ChatShared, UsersShared
|
||||||
from telegram.warnings import PTBDeprecationWarning
|
|
||||||
from tests.auxil.slots import mro_slots
|
from tests.auxil.slots import mro_slots
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="class")
|
|
||||||
def user_shared():
|
|
||||||
return UserShared(TestUsersSharedBase.request_id, TestUsersSharedBase.user_id)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="class")
|
@pytest.fixture(scope="class")
|
||||||
def users_shared():
|
def users_shared():
|
||||||
return UsersShared(TestUsersSharedBase.request_id, TestUsersSharedBase.user_ids)
|
return UsersShared(TestUsersSharedBase.request_id, TestUsersSharedBase.user_ids)
|
||||||
|
@ -82,75 +75,6 @@ class TestUsersSharedWithoutRequest(TestUsersSharedBase):
|
||||||
assert hash(a) != hash(d)
|
assert hash(a) != hash(d)
|
||||||
|
|
||||||
|
|
||||||
class TestUserSharedWithoutRequest(TestUsersSharedBase):
|
|
||||||
def test_slot_behaviour(self, user_shared):
|
|
||||||
for attr in user_shared.__slots__:
|
|
||||||
assert getattr(user_shared, attr, "err") != "err", f"got extra slot '{attr}'"
|
|
||||||
assert len(mro_slots(user_shared)) == len(set(mro_slots(user_shared))), "duplicate slot"
|
|
||||||
|
|
||||||
def test_to_dict(self, user_shared):
|
|
||||||
user_shared_dict = user_shared.to_dict()
|
|
||||||
|
|
||||||
assert isinstance(user_shared_dict, dict)
|
|
||||||
assert user_shared_dict["request_id"] == self.request_id
|
|
||||||
assert user_shared_dict["user_ids"] == [self.user_id]
|
|
||||||
|
|
||||||
def test_de_json(self, bot):
|
|
||||||
json_dict = {
|
|
||||||
"request_id": self.request_id,
|
|
||||||
"user_id": self.user_id,
|
|
||||||
}
|
|
||||||
user_shared = UserShared.de_json(json_dict, bot)
|
|
||||||
assert user_shared.api_kwargs == {}
|
|
||||||
|
|
||||||
assert user_shared.request_id == self.request_id
|
|
||||||
assert user_shared.user_id == self.user_id
|
|
||||||
assert user_shared.user_ids == (self.user_id,)
|
|
||||||
|
|
||||||
def test_signature(self):
|
|
||||||
user_signature = inspect.signature(UserShared)
|
|
||||||
users_signature = inspect.signature(UsersShared)
|
|
||||||
|
|
||||||
assert user_signature.return_annotation == users_signature.return_annotation
|
|
||||||
|
|
||||||
for name, parameter in user_signature.parameters.items():
|
|
||||||
if name not in users_signature.parameters:
|
|
||||||
assert name == "user_id"
|
|
||||||
else:
|
|
||||||
assert parameter.annotation == users_signature.parameters[name].annotation
|
|
||||||
|
|
||||||
assert set(users_signature.parameters) - set(user_signature.parameters) == {"user_ids"}
|
|
||||||
|
|
||||||
def test_deprecation_warnings(self):
|
|
||||||
with pytest.warns(
|
|
||||||
PTBDeprecationWarning, match="'UserShared' was renamed to 'UsersShared'"
|
|
||||||
) as record:
|
|
||||||
user_shared = UserShared(request_id=1, user_id=1)
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
with pytest.warns(PTBDeprecationWarning, match="'user_id' to 'user_ids'") as record:
|
|
||||||
user_shared.user_id
|
|
||||||
|
|
||||||
assert record[0].filename == __file__, "wrong stacklevel"
|
|
||||||
|
|
||||||
def test_equality(self):
|
|
||||||
a = UserShared(self.request_id, self.user_id)
|
|
||||||
b = UserShared(self.request_id, self.user_id)
|
|
||||||
c = UserShared(1, self.user_id)
|
|
||||||
d = UserShared(self.request_id, 1)
|
|
||||||
|
|
||||||
assert a == b
|
|
||||||
assert hash(a) == hash(b)
|
|
||||||
assert a is not b
|
|
||||||
|
|
||||||
assert a != c
|
|
||||||
assert hash(a) != hash(c)
|
|
||||||
|
|
||||||
assert a != d
|
|
||||||
assert hash(a) != hash(d)
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="class")
|
@pytest.fixture(scope="class")
|
||||||
def chat_shared():
|
def chat_shared():
|
||||||
return ChatShared(
|
return ChatShared(
|
||||||
|
|
Loading…
Reference in a new issue