Pyrofork: Add support for self-destructing video notes

Signed-off-by: wulan17 <wulan17@nusantararom.org>
This commit is contained in:
KurimuzonAkuma 2024-01-23 23:41:07 +03:00 committed by wulan17
parent ec114185c3
commit ff305c92de
No known key found for this signature in database
GPG key ID: 318CD6CD3A6AC0A5
2 changed files with 23 additions and 1 deletions

View file

@ -49,6 +49,7 @@ class SendVideoNote:
parse_mode: Optional["enums.ParseMode"] = None, parse_mode: Optional["enums.ParseMode"] = None,
schedule_date: datetime = None, schedule_date: datetime = None,
protect_content: bool = None, protect_content: bool = None,
ttl_seconds: int = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -126,6 +127,11 @@ class SendVideoNote:
protect_content (``bool``, *optional*): protect_content (``bool``, *optional*):
Protects the contents of the sent message from forwarding and saving. Protects the contents of the sent message from forwarding and saving.
ttl_seconds (``int``, *optional*):
Self-Destruct Timer.
If you set a timer, the video note will self-destruct in *ttl_seconds*
seconds after it was viewed.
reply_markup (:obj:`~pyrofork.types.InlineKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardRemove` | :obj:`~pyrofork.types.ForceReply`, *optional*): reply_markup (:obj:`~pyrofork.types.InlineKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardRemove` | :obj:`~pyrofork.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard, Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user. instructions to remove reply keyboard or to force a reply from the user.
@ -165,6 +171,9 @@ class SendVideoNote:
# Set video note length # Set video note length
await app.send_video_note("me", "video_note.mp4", length=25) await app.send_video_note("me", "video_note.mp4", length=25)
# Send self-destructing video note
await app.send_voice("me", "video_note.mp4", ttl_seconds=(1 << 31) - 1)
""" """
file = None file = None
@ -196,7 +205,8 @@ class SendVideoNote:
w=length, w=length,
h=length h=length
) )
] ],
ttl_seconds=ttl_seconds
) )
else: else:
media = utils.get_input_media_from_file_id(video_note, FileType.VIDEO_NOTE) media = utils.get_input_media_from_file_id(video_note, FileType.VIDEO_NOTE)

View file

@ -3288,6 +3288,8 @@ class Message(Object, Update):
quote_text: str = None, quote_text: str = None,
quote_entities: List["types.MessageEntity"] = None, quote_entities: List["types.MessageEntity"] = None,
parse_mode: Optional["enums.ParseMode"] = None, parse_mode: Optional["enums.ParseMode"] = None,
protect_content: bool = None,
ttl_seconds: int = None,
reply_markup: Union[ reply_markup: Union[
"types.InlineKeyboardMarkup", "types.InlineKeyboardMarkup",
"types.ReplyKeyboardMarkup", "types.ReplyKeyboardMarkup",
@ -3356,6 +3358,14 @@ class Message(Object, Update):
List of special entities that appear in quote_text, which can be specified instead of *parse_mode*. List of special entities that appear in quote_text, which can be specified instead of *parse_mode*.
for reply_to_message only. for reply_to_message only.
protect_content (``bool``, *optional*):
Protects the contents of the sent message from forwarding and saving.
ttl_seconds (``int``, *optional*):
Self-Destruct Timer.
If you set a timer, the video note will self-destruct in *ttl_seconds*
seconds after it was viewed.
reply_markup (:obj:`~pyrofork.types.InlineKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardRemove` | :obj:`~pyrofork.types.ForceReply`, *optional*): reply_markup (:obj:`~pyrofork.types.InlineKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardMarkup` | :obj:`~pyrofork.types.ReplyKeyboardRemove` | :obj:`~pyrofork.types.ForceReply`, *optional*):
Additional interface options. An object for an inline keyboard, custom reply keyboard, Additional interface options. An object for an inline keyboard, custom reply keyboard,
instructions to remove reply keyboard or to force a reply from the user. instructions to remove reply keyboard or to force a reply from the user.
@ -3418,6 +3428,8 @@ class Message(Object, Update):
reply_to_chat_id=reply_to_chat_id, reply_to_chat_id=reply_to_chat_id,
quote_text=quote_text, quote_text=quote_text,
quote_entities=quote_entities, quote_entities=quote_entities,
protect_content=protect_content,
ttl_seconds=ttl_seconds,
parse_mode=parse_mode, parse_mode=parse_mode,
reply_markup=reply_markup, reply_markup=reply_markup,
progress=progress, progress=progress,