mirror of
https://github.com/Mayuri-Chan/pyrofork.git
synced 2026-01-08 16:04:51 +00:00
Compare commits
11 commits
7fabbd8c14
...
86ac12c213
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86ac12c213 | ||
|
|
aa446c2333 | ||
|
|
aee9eefbbf | ||
|
|
4e0e79c80f | ||
|
|
cf3eb7125f | ||
|
|
be313aa666 | ||
|
|
1bcdcba89b | ||
|
|
88d8a40900 | ||
|
|
a8a7bb5c03 | ||
|
|
eb9954a5cf | ||
|
|
b35123c93e |
26 changed files with 435 additions and 7 deletions
|
|
@ -411,6 +411,9 @@ def pyrogram_api():
|
||||||
answer_shipping_query
|
answer_shipping_query
|
||||||
delete_business_messages
|
delete_business_messages
|
||||||
get_business_connection
|
get_business_connection
|
||||||
|
get_business_account_gifts
|
||||||
|
get_business_account_star_balance
|
||||||
|
transfer_business_account_stars
|
||||||
""",
|
""",
|
||||||
authorization="""
|
authorization="""
|
||||||
Authorization
|
Authorization
|
||||||
|
|
@ -715,6 +718,7 @@ def pyrogram_api():
|
||||||
InputMessageContent
|
InputMessageContent
|
||||||
InputMessageContent
|
InputMessageContent
|
||||||
InputReplyToMessage
|
InputReplyToMessage
|
||||||
|
InputReplyToMonoforum
|
||||||
InputReplyToStory
|
InputReplyToStory
|
||||||
InputTextMessageContent
|
InputTextMessageContent
|
||||||
InputLocationMessageContent
|
InputLocationMessageContent
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ BOT_GAMES_DISABLED Bot games cannot be used in this type of chat
|
||||||
BOT_GROUPS_BLOCKED This bot can't be added to groups
|
BOT_GROUPS_BLOCKED This bot can't be added to groups
|
||||||
BOT_INLINE_DISABLED The inline feature of the bot is disabled
|
BOT_INLINE_DISABLED The inline feature of the bot is disabled
|
||||||
BOT_INVALID This is not a valid bot
|
BOT_INVALID This is not a valid bot
|
||||||
|
BOT_INVOICE_INVALID The provided invoice is invalid
|
||||||
BOT_METHOD_INVALID The method can't be used by bots
|
BOT_METHOD_INVALID The method can't be used by bots
|
||||||
BOT_MISSING This method can only be run by a bot
|
BOT_MISSING This method can only be run by a bot
|
||||||
BOT_ONESIDE_NOT_AVAIL Bots can't pin messages for one side only in private chats
|
BOT_ONESIDE_NOT_AVAIL Bots can't pin messages for one side only in private chats
|
||||||
|
|
@ -46,6 +47,7 @@ BROADCAST_CALLS_DISABLED Broadcast calls disabled
|
||||||
BROADCAST_ID_INVALID The channel is invalid
|
BROADCAST_ID_INVALID The channel is invalid
|
||||||
BROADCAST_PUBLIC_VOTERS_FORBIDDEN Polls with public voters cannot be sent in channels
|
BROADCAST_PUBLIC_VOTERS_FORBIDDEN Polls with public voters cannot be sent in channels
|
||||||
BROADCAST_REQUIRED The request can only be used with a channel
|
BROADCAST_REQUIRED The request can only be used with a channel
|
||||||
|
BUSINESS_BOT_MISSING Business bot missing
|
||||||
BUTTON_DATA_INVALID The button callback data is invalid or too large
|
BUTTON_DATA_INVALID The button callback data is invalid or too large
|
||||||
BUTTON_ID_INVALID The button_id parameter is invalid
|
BUTTON_ID_INVALID The button_id parameter is invalid
|
||||||
BUTTON_TEXT_INVALID The specified button text is invalid
|
BUTTON_TEXT_INVALID The specified button text is invalid
|
||||||
|
|
|
||||||
|
|
|
@ -21,6 +21,9 @@ from .answer_pre_checkout_query import AnswerPreCheckoutQuery
|
||||||
from .answer_shipping_query import AnswerShippingQuery
|
from .answer_shipping_query import AnswerShippingQuery
|
||||||
from .delete_business_messages import DeleteBusinessMessages
|
from .delete_business_messages import DeleteBusinessMessages
|
||||||
from .get_business_connection import GetBusinessConnection
|
from .get_business_connection import GetBusinessConnection
|
||||||
|
from .get_business_account_gifts import GetBusinessAccountGifts
|
||||||
|
from .get_business_account_star_balance import GetBusinessAccountStarBalance
|
||||||
|
from .transfer_business_account_stars import TransferBusinessAccountStars
|
||||||
|
|
||||||
|
|
||||||
class TelegramBusiness(
|
class TelegramBusiness(
|
||||||
|
|
@ -28,5 +31,8 @@ class TelegramBusiness(
|
||||||
AnswerShippingQuery,
|
AnswerShippingQuery,
|
||||||
DeleteBusinessMessages,
|
DeleteBusinessMessages,
|
||||||
GetBusinessConnection,
|
GetBusinessConnection,
|
||||||
|
GetBusinessAccountGifts,
|
||||||
|
GetBusinessAccountStarBalance,
|
||||||
|
TransferBusinessAccountStars,
|
||||||
):
|
):
|
||||||
pass
|
pass
|
||||||
|
|
|
||||||
129
pyrogram/methods/business/get_business_account_gifts.py
Normal file
129
pyrogram/methods/business/get_business_account_gifts.py
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
# Pyrogram - Telegram MTProto API Client Library for Python
|
||||||
|
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
|
||||||
|
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
|
||||||
|
#
|
||||||
|
# This file is part of Pyrogram.
|
||||||
|
#
|
||||||
|
# Pyrogram is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License as published
|
||||||
|
# by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Pyrogram is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
|
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
import pyrogram
|
||||||
|
from pyrogram import raw, types
|
||||||
|
|
||||||
|
|
||||||
|
class GetBusinessAccountGifts:
|
||||||
|
async def get_business_account_gifts(
|
||||||
|
self: "pyrogram.Client",
|
||||||
|
business_connection_id: str,
|
||||||
|
exclude_unsaved: Optional[bool] = None,
|
||||||
|
exclude_saved: Optional[bool] = None,
|
||||||
|
exclude_unlimited: Optional[bool] = None,
|
||||||
|
exclude_limited: Optional[bool] = None,
|
||||||
|
exclude_upgraded: Optional[bool] = None,
|
||||||
|
sort_by_price: Optional[bool] = None,
|
||||||
|
limit: int = 0,
|
||||||
|
offset: str = "",
|
||||||
|
):
|
||||||
|
"""Return the gifts received and owned by a managed business account.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Requires the `can_view_gifts_and_stars` business bot right.
|
||||||
|
|
||||||
|
.. include:: /_includes/usable-by/bots.rst
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
business_connection_id (``str``):
|
||||||
|
Unique identifier of business connection on behalf of which to send the request.
|
||||||
|
|
||||||
|
exclude_unsaved (``bool``, *optional*):
|
||||||
|
Pass True to exclude gifts that aren’t saved to the account’s profile page.
|
||||||
|
|
||||||
|
exclude_saved (``bool``, *optional*):
|
||||||
|
Pass True to exclude gifts that are saved to the account’s profile page.
|
||||||
|
|
||||||
|
exclude_unlimited (``bool``, *optional*):
|
||||||
|
Pass True to exclude gifts that can be purchased an unlimited number of times.
|
||||||
|
|
||||||
|
exclude_limited (``bool``, *optional*):
|
||||||
|
Pass True to exclude gifts that can be purchased a limited number of times.
|
||||||
|
|
||||||
|
exclude_upgraded (``bool``, *optional*):
|
||||||
|
Pass True to exclude upgraded gifts.
|
||||||
|
|
||||||
|
sort_by_price (``bool``, *optional*):
|
||||||
|
Pass True to sort results by gift price instead of send date. Sorting is applied before pagination.
|
||||||
|
|
||||||
|
offset (``str``, *optional*):
|
||||||
|
Offset of the first entry to return as received from the previous request.
|
||||||
|
|
||||||
|
limit (``int``, *optional*):
|
||||||
|
The maximum number of gifts to be returned.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
``Generator``: A generator yielding :obj:`~pyrogram.types.Gift` objects.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
async for gift in app.get_business_account_gifts(connection_id):
|
||||||
|
print(gift)
|
||||||
|
"""
|
||||||
|
current = 0
|
||||||
|
total = abs(limit) or (1 << 31) - 1
|
||||||
|
limit = min(100, total)
|
||||||
|
|
||||||
|
connection_info = await self.get_business_connection(business_connection_id)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
r = await self.invoke(
|
||||||
|
raw.functions.payments.GetSavedStarGifts(
|
||||||
|
peer=await self.resolve_peer(connection_info.user.id),
|
||||||
|
offset=offset,
|
||||||
|
limit=limit,
|
||||||
|
exclude_unsaved=exclude_unsaved,
|
||||||
|
exclude_saved=exclude_saved,
|
||||||
|
exclude_unlimited=exclude_unlimited,
|
||||||
|
exclude_limited=exclude_limited,
|
||||||
|
exclude_unique=exclude_upgraded,
|
||||||
|
sort_by_value=sort_by_price
|
||||||
|
),
|
||||||
|
sleep_threshold=60,
|
||||||
|
business_connection_id=business_connection_id
|
||||||
|
)
|
||||||
|
|
||||||
|
users = {i.id: i for i in r.users}
|
||||||
|
chats = {i.id: i for i in r.chats}
|
||||||
|
|
||||||
|
user_star_gifts = [
|
||||||
|
await types.Gift._parse_saved(self, gift, users, chats)
|
||||||
|
for gift in r.gifts
|
||||||
|
]
|
||||||
|
|
||||||
|
if not user_star_gifts:
|
||||||
|
return
|
||||||
|
|
||||||
|
for gift in user_star_gifts:
|
||||||
|
yield gift
|
||||||
|
|
||||||
|
current += 1
|
||||||
|
|
||||||
|
if current >= total:
|
||||||
|
return
|
||||||
|
|
||||||
|
offset = r.next_offset
|
||||||
|
|
||||||
|
if not offset:
|
||||||
|
return
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
# Pyrogram - Telegram MTProto API Client Library for Python
|
||||||
|
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
|
||||||
|
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
|
||||||
|
#
|
||||||
|
# This file is part of Pyrogram.
|
||||||
|
#
|
||||||
|
# Pyrogram is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License as published
|
||||||
|
# by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Pyrogram is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
|
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from typing import Optional, Union
|
||||||
|
|
||||||
|
import pyrogram
|
||||||
|
from pyrogram import raw
|
||||||
|
|
||||||
|
|
||||||
|
class GetBusinessAccountStarBalance:
|
||||||
|
async def get_business_account_star_balance(
|
||||||
|
self: "pyrogram.Client",
|
||||||
|
business_connection_id: str,
|
||||||
|
) -> int:
|
||||||
|
"""Return the amount of Telegram Stars owned by a managed business account.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Requires the `can_view_gifts_and_stars` business bot right.
|
||||||
|
|
||||||
|
.. include:: /_includes/usable-by/bots.rst
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
business_connection_id (``str``):
|
||||||
|
Unique identifier of business connection on behalf of which to send the request.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
``int``: On success, the current stars balance is returned.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
# Get stars balance
|
||||||
|
await app.get_business_account_star_balance("connection_id")
|
||||||
|
"""
|
||||||
|
connection_info = await self.get_business_connection(business_connection_id)
|
||||||
|
|
||||||
|
r = await self.invoke(
|
||||||
|
raw.functions.payments.GetStarsStatus(
|
||||||
|
peer=await self.resolve_peer(connection_info.user.id),
|
||||||
|
),
|
||||||
|
business_connection_id=business_connection_id
|
||||||
|
)
|
||||||
|
|
||||||
|
return r.balance.amount
|
||||||
72
pyrogram/methods/business/transfer_business_account_stars.py
Normal file
72
pyrogram/methods/business/transfer_business_account_stars.py
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
# Pyrogram - Telegram MTProto API Client Library for Python
|
||||||
|
# Copyright (C) 2017-present Dan <https://github.com/delivrance>
|
||||||
|
#
|
||||||
|
# This file is part of Pyrogram.
|
||||||
|
#
|
||||||
|
# Pyrogram is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License as published
|
||||||
|
# by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Pyrogram is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
|
# along with Pyrogram. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import pyrogram
|
||||||
|
from pyrogram import raw
|
||||||
|
|
||||||
|
|
||||||
|
class TransferBusinessAccountStars:
|
||||||
|
async def transfer_business_account_stars(
|
||||||
|
self: "pyrogram.Client",
|
||||||
|
business_connection_id: str,
|
||||||
|
star_count: int,
|
||||||
|
) -> bool:
|
||||||
|
"""Transfers Telegram Stars from the business account balance to the bot’s balance.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Requires the `can_transfer_stars` business bot right.
|
||||||
|
|
||||||
|
.. include:: /_includes/usable-by/users.rst
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
business_connection_id (``str``):
|
||||||
|
Unique identifier of the business connection.
|
||||||
|
|
||||||
|
star_count (``int`` | ``str``):
|
||||||
|
Number of Telegram Stars to transfer, 1-10000.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
``bool``: On success, True is returned.
|
||||||
|
"""
|
||||||
|
# Why telegram won't let us just use InputPeerSelf :(
|
||||||
|
if self.me:
|
||||||
|
bot_id = self.me.id
|
||||||
|
else:
|
||||||
|
bot_id = (
|
||||||
|
await self.invoke(raw.functions.users.GetUsers(id=[raw.types.InputPeerSelf()]))
|
||||||
|
)[0].id
|
||||||
|
|
||||||
|
invoice = raw.types.InputInvoiceBusinessBotTransferStars(
|
||||||
|
bot=await self.resolve_peer(bot_id), stars=star_count
|
||||||
|
)
|
||||||
|
|
||||||
|
payment_form = await self.invoke(
|
||||||
|
raw.functions.payments.GetPaymentForm(invoice=invoice),
|
||||||
|
business_connection_id=business_connection_id,
|
||||||
|
)
|
||||||
|
|
||||||
|
await self.invoke(
|
||||||
|
raw.functions.payments.SendStarsForm(
|
||||||
|
form_id=payment_form.form_id,
|
||||||
|
invoice=invoice,
|
||||||
|
),
|
||||||
|
business_connection_id=business_connection_id,
|
||||||
|
)
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
@ -52,6 +52,7 @@ class SendAnimation:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
schedule_date: datetime = None,
|
schedule_date: datetime = None,
|
||||||
|
|
@ -145,6 +146,11 @@ class SendAnimation:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -226,6 +232,7 @@ class SendAnimation:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ class SendAudio:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
message_effect_id: int = None,
|
message_effect_id: int = None,
|
||||||
|
|
@ -137,6 +138,11 @@ class SendAudio:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -216,6 +222,7 @@ class SendAudio:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ class SendCachedMedia:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
schedule_date: datetime = None,
|
schedule_date: datetime = None,
|
||||||
|
|
@ -104,6 +105,11 @@ class SendCachedMedia:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -144,6 +150,7 @@ class SendCachedMedia:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ class SendContact:
|
||||||
business_connection_id: str = None,
|
business_connection_id: str = None,
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
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,
|
||||||
|
|
@ -95,6 +96,11 @@ class SendContact:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -139,6 +145,7 @@ class SendContact:
|
||||||
reply_to_message_id=reply_to_message_id,
|
reply_to_message_id=reply_to_message_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ class SendDice:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
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,
|
||||||
|
|
@ -91,6 +92,11 @@ class SendDice:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -143,6 +149,7 @@ class SendDice:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ class SendDocument:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
message_effect_id: int = None,
|
message_effect_id: int = None,
|
||||||
|
|
@ -129,6 +130,11 @@ class SendDocument:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -203,6 +209,7 @@ class SendDocument:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ class SendLocation:
|
||||||
business_connection_id: str = None,
|
business_connection_id: str = None,
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
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,
|
||||||
|
|
@ -89,6 +90,11 @@ class SendLocation:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
reply_to_message_id (``int``, *optional*):
|
reply_to_message_id (``int``, *optional*):
|
||||||
If the message is a reply, ID of the original message
|
If the message is a reply, ID of the original message
|
||||||
|
|
||||||
|
|
@ -136,6 +142,7 @@ class SendLocation:
|
||||||
reply_to_message_id=reply_to_message_id,
|
reply_to_message_id=reply_to_message_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,7 @@ class SendMediaGroup:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
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,
|
||||||
|
|
@ -104,6 +105,11 @@ class SendMediaGroup:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -180,6 +186,7 @@ class SendMediaGroup:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode,
|
parse_mode=parse_mode,
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ class SendMessage:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: int = None,
|
reply_to_chat_id: int = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
schedule_date: datetime = None,
|
schedule_date: datetime = None,
|
||||||
|
|
@ -100,6 +101,11 @@ class SendMessage:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of the monoforum.
|
||||||
|
for reply to message from a monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -174,6 +180,7 @@ class SendMessage:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ class SendPhoto:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
schedule_date: datetime = None,
|
schedule_date: datetime = None,
|
||||||
|
|
@ -122,6 +123,11 @@ class SendPhoto:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -203,6 +209,7 @@ class SendPhoto:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ class SendSticker:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
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,
|
||||||
|
|
@ -104,6 +105,11 @@ class SendSticker:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -178,6 +184,7 @@ class SendSticker:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ class SendVideo:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
cover: Union[str, BinaryIO] = None,
|
cover: Union[str, BinaryIO] = None,
|
||||||
|
|
@ -151,6 +152,11 @@ class SendVideo:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -251,6 +257,7 @@ class SendVideo:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ class SendVideoNote:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
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,
|
||||||
|
|
@ -118,6 +119,11 @@ class SendVideoNote:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -197,6 +203,7 @@ class SendVideoNote:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ class SendVoice:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
schedule_date: datetime = None,
|
schedule_date: datetime = None,
|
||||||
|
|
@ -121,6 +122,11 @@ class SendVoice:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -189,6 +195,7 @@ class SendVoice:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ class SendWebPage:
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
reply_to_chat_id: Union[int, str] = None,
|
reply_to_chat_id: Union[int, str] = None,
|
||||||
|
reply_to_monoforum_id: Union[int, str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
schedule_date: datetime = None,
|
schedule_date: datetime = None,
|
||||||
|
|
@ -106,6 +107,11 @@ class SendWebPage:
|
||||||
for reply to message from another chat.
|
for reply to message from another chat.
|
||||||
You can also use chat public link in form of *t.me/<username>* (str).
|
You can also use chat public link in form of *t.me/<username>* (str).
|
||||||
|
|
||||||
|
reply_to_monoforum_id (``int`` | ``str``, *optional*):
|
||||||
|
Unique identifier for the target user of monoforum.
|
||||||
|
for reply to message from monoforum.
|
||||||
|
for channel administrators only.
|
||||||
|
|
||||||
quote_text (``str``, *optional*):
|
quote_text (``str``, *optional*):
|
||||||
Text to quote.
|
Text to quote.
|
||||||
for reply_to_message only.
|
for reply_to_message only.
|
||||||
|
|
@ -161,6 +167,7 @@ class SendWebPage:
|
||||||
reply_to_story_id=reply_to_story_id,
|
reply_to_story_id=reply_to_story_id,
|
||||||
message_thread_id=message_thread_id,
|
message_thread_id=message_thread_id,
|
||||||
reply_to_chat_id=reply_to_chat_id,
|
reply_to_chat_id=reply_to_chat_id,
|
||||||
|
reply_to_monoforum_id=reply_to_monoforum_id,
|
||||||
quote_text=quote_text,
|
quote_text=quote_text,
|
||||||
quote_entities=quote_entities,
|
quote_entities=quote_entities,
|
||||||
parse_mode=parse_mode
|
parse_mode=parse_mode
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@ class KeyboardButton(Object):
|
||||||
is_creator=b.peer_type.creator,
|
is_creator=b.peer_type.creator,
|
||||||
is_bot_participant=b.peer_type.bot_participant,
|
is_bot_participant=b.peer_type.bot_participant,
|
||||||
is_username=b.peer_type.has_username,
|
is_username=b.peer_type.has_username,
|
||||||
is_forum=True if b.peer_type.type == enums.ChatType.FORUM else False,
|
is_forum=b.peer_type.forum,
|
||||||
max=b.max_quantity
|
max=b.max_quantity
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
@ -155,7 +155,7 @@ class KeyboardButton(Object):
|
||||||
creator=self.request_chat.is_creator,
|
creator=self.request_chat.is_creator,
|
||||||
bot_participant=self.request_chat.is_bot_participant,
|
bot_participant=self.request_chat.is_bot_participant,
|
||||||
has_username=self.request_chat.is_username,
|
has_username=self.request_chat.is_username,
|
||||||
forum=True if self.request_chat.type == enums.ChatType.FORUM else False
|
forum=self.request_chat.is_forum
|
||||||
),
|
),
|
||||||
max_quantity=self.request_chat.max,
|
max_quantity=self.request_chat.max,
|
||||||
name_requested=self.request_chat.is_name_requested,
|
name_requested=self.request_chat.is_name_requested,
|
||||||
|
|
|
||||||
|
|
@ -65,10 +65,8 @@ class RequestedChat(Object):
|
||||||
"raw.types.PeerChannel"
|
"raw.types.PeerChannel"
|
||||||
]
|
]
|
||||||
) -> "RequestedChat":
|
) -> "RequestedChat":
|
||||||
if getattr(request, "broadcast", None):
|
if isinstance(request, raw.types.RequestedPeerChannel) or isinstance(request, raw.types.PeerChannel):
|
||||||
type = enums.ChatType.CHANNEL
|
type = enums.ChatType.CHANNEL
|
||||||
elif getattr(request, "megagroup", None):
|
|
||||||
type = enums.ChatType.SUPERGROUP
|
|
||||||
else:
|
else:
|
||||||
type = enums.ChatType.GROUP
|
type = enums.ChatType.GROUP
|
||||||
photo = None
|
photo = None
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
from .input_message_content import InputMessageContent
|
from .input_message_content import InputMessageContent
|
||||||
from .input_reply_to_message import InputReplyToMessage
|
from .input_reply_to_message import InputReplyToMessage
|
||||||
|
from .input_reply_to_monoforum import InputReplyToMonoforum
|
||||||
from .input_reply_to_story import InputReplyToStory
|
from .input_reply_to_story import InputReplyToStory
|
||||||
from .input_text_message_content import InputTextMessageContent
|
from .input_text_message_content import InputTextMessageContent
|
||||||
from .input_location_message_content import InputLocationMessageContent
|
from .input_location_message_content import InputLocationMessageContent
|
||||||
|
|
@ -29,6 +30,7 @@ from .input_invoice_message_content import InputInvoiceMessageContent
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"InputMessageContent",
|
"InputMessageContent",
|
||||||
"InputReplyToMessage",
|
"InputReplyToMessage",
|
||||||
|
"InputReplyToMonoforum",
|
||||||
"InputReplyToStory",
|
"InputReplyToStory",
|
||||||
"InputTextMessageContent",
|
"InputTextMessageContent",
|
||||||
"InputLocationMessageContent",
|
"InputLocationMessageContent",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
# Pyrofork - Telegram MTProto API Client Library for Python
|
||||||
|
# Copyright (C) 2022-present Mayuri-Chan <https://github.com/Mayuri-Chan>
|
||||||
|
#
|
||||||
|
# This file is part of Pyrofork.
|
||||||
|
#
|
||||||
|
# Pyrofork is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License as published
|
||||||
|
# by the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# Pyrofork is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
|
# along with Pyrofork. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
from pyrogram import raw
|
||||||
|
from ..object import Object
|
||||||
|
|
||||||
|
|
||||||
|
class InputReplyToMonoforum(Object):
|
||||||
|
"""Contains information about a target replied monoforum.
|
||||||
|
|
||||||
|
|
||||||
|
Parameters:
|
||||||
|
monoforum_peer (:obj:`~pyrogram.raw.types.InputPeer`):
|
||||||
|
An InputPeer.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self, *,
|
||||||
|
monoforum_peer: "raw.types.InputPeer"
|
||||||
|
):
|
||||||
|
super().__init__()
|
||||||
|
|
||||||
|
self.monoforum_peer = monoforum_peer
|
||||||
|
|
||||||
|
def write(self):
|
||||||
|
return raw.types.InputReplyToMonoForum(
|
||||||
|
monoforum_peer_id=self.monoforum_peer
|
||||||
|
).write()
|
||||||
|
|
@ -487,6 +487,7 @@ async def get_reply_to(
|
||||||
reply_to_message_id: int = None,
|
reply_to_message_id: int = None,
|
||||||
reply_to_story_id: int = None,
|
reply_to_story_id: int = None,
|
||||||
message_thread_id: int = None,
|
message_thread_id: int = None,
|
||||||
|
reply_to_monoforum_id: Union[int,str] = None,
|
||||||
reply_to_chat_id: Union[int,str] = None,
|
reply_to_chat_id: Union[int,str] = None,
|
||||||
quote_text: str = None,
|
quote_text: str = None,
|
||||||
quote_entities: List["types.MessageEntity"] = None,
|
quote_entities: List["types.MessageEntity"] = None,
|
||||||
|
|
@ -495,7 +496,12 @@ async def get_reply_to(
|
||||||
):
|
):
|
||||||
reply_to = None
|
reply_to = None
|
||||||
reply_to_chat = None
|
reply_to_chat = None
|
||||||
if reply_to_message_id or message_thread_id:
|
if reply_to_monoforum_id:
|
||||||
|
peer = await client.resolve_peer(reply_to_monoforum_id)
|
||||||
|
reply_to = types.InputReplyToMonoforum(
|
||||||
|
monoforum_peer=peer
|
||||||
|
)
|
||||||
|
elif reply_to_message_id or message_thread_id:
|
||||||
text, entities = (await parse_text_entities(client, quote_text, parse_mode, quote_entities)).values()
|
text, entities = (await parse_text_entities(client, quote_text, parse_mode, quote_entities)).values()
|
||||||
if reply_to_chat_id is not None:
|
if reply_to_chat_id is not None:
|
||||||
reply_to_chat = await client.resolve_peer(reply_to_chat_id)
|
reply_to_chat = await client.resolve_peer(reply_to_chat_id)
|
||||||
|
|
@ -507,7 +513,7 @@ async def get_reply_to(
|
||||||
quote_entities=entities,
|
quote_entities=entities,
|
||||||
quote_offset=quote_offset,
|
quote_offset=quote_offset,
|
||||||
)
|
)
|
||||||
if reply_to_story_id:
|
elif reply_to_story_id:
|
||||||
peer = await client.resolve_peer(chat_id)
|
peer = await client.resolve_peer(chat_id)
|
||||||
reply_to = types.InputReplyToStory(
|
reply_to = types.InputReplyToStory(
|
||||||
peer=peer,
|
peer=peer,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue