Skip to content

Commit

Permalink
pyrofork: Add missings business_connection_id
Browse files Browse the repository at this point in the history
Signed-off-by: wulan17 <wulan17@nusantararom.org>
  • Loading branch information
wulan17 committed Jul 14, 2024
1 parent 61398bc commit e999da4
Show file tree
Hide file tree
Showing 8 changed files with 121 additions and 56 deletions.
9 changes: 7 additions & 2 deletions pyrogram/methods/messages/edit_message_caption.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ async def edit_message_caption(
parse_mode: Optional["enums.ParseMode"] = None,
caption_entities: List["types.MessageEntity"] = None,
invert_media: bool = False,
reply_markup: "types.InlineKeyboardMarkup" = None
reply_markup: "types.InlineKeyboardMarkup" = None,
business_connection_id: str = None
) -> "types.Message":
"""Edit the caption of media messages.
Expand Down Expand Up @@ -64,6 +65,9 @@ async def edit_message_caption(
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
An InlineKeyboardMarkup object.
business_connection_id (``str``, *optional*):
Unique identifier of the business connection.
Returns:
:obj:`~pyrogram.types.Message`: On success, the edited message is returned.
Expand All @@ -79,5 +83,6 @@ async def edit_message_caption(
parse_mode=parse_mode,
entities=caption_entities,
invert_media=invert_media,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=business_connection_id
)
33 changes: 22 additions & 11 deletions pyrogram/methods/messages/edit_message_media.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ async def edit_message_media(
media: "types.InputMedia",
reply_markup: "types.InlineKeyboardMarkup" = None,
file_name: str = None,
invert_media: bool = False
invert_media: bool = False,
business_connection_id: str = None
) -> "types.Message":
"""Edit animation, audio, document, photo or video messages.
Expand Down Expand Up @@ -69,6 +70,9 @@ async def edit_message_media(
invert_media (``bool``, *optional*):
Inverts the position of the media and caption.
business_connection_id (``str``, *optional*):
Unique identifier of the business connection.
Returns:
:obj:`~pyrogram.types.Message`: On success, the edited message is returned.
Expand Down Expand Up @@ -273,17 +277,24 @@ async def edit_message_media(
else:
media = utils.get_input_media_from_file_id(media.media, FileType.DOCUMENT)

r = await self.invoke(
raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
media=media,
reply_markup=await reply_markup.write(self) if reply_markup else None,
message=message,
entities=entities,
invert_media=invert_media
)
rpc = raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
media=media,
reply_markup=await reply_markup.write(self) if reply_markup else None,
message=message,
entities=entities,
invert_media=invert_media
)
if business_connection_id is not None:
r = await self.invoke(
raw.functions.InvokeWithBusinessConnection(
connection_id=business_connection_id,
query=rpc
)
)
else:
r = await self.invoke(rpc)

for i in r.updates:
if isinstance(i, (raw.types.UpdateEditMessage, raw.types.UpdateEditChannelMessage)):
Expand Down
23 changes: 17 additions & 6 deletions pyrogram/methods/messages/edit_message_reply_markup.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ async def edit_message_reply_markup(
chat_id: Union[int, str],
message_id: int,
reply_markup: "types.InlineKeyboardMarkup" = None,
business_connection_id: str = None
) -> "types.Message":
"""Edit only the reply markup of messages sent by the bot.
Expand All @@ -48,6 +49,9 @@ async def edit_message_reply_markup(
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
An InlineKeyboardMarkup object.
business_connection_id (``str``, *optional*):
Unique identifier of the business connection.
Returns:
:obj:`~pyrogram.types.Message`: On success, the edited message is returned.
Expand All @@ -62,13 +66,20 @@ async def edit_message_reply_markup(
InlineKeyboardMarkup([[
InlineKeyboardButton("New button", callback_data="new_data")]]))
"""
r = await self.invoke(
raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
reply_markup=await reply_markup.write(self) if reply_markup else None,
)
rpc = raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
reply_markup=await reply_markup.write(self) if reply_markup else None
)
if business_connection_id is not None:
r = await self.invoke(
raw.functions.InvokeWithBusinessConnection(
connection_id=business_connection_id,
query=rpc
)
)
else:
r = await self.invoke(rpc)

for i in r.updates:
if isinstance(i, (raw.types.UpdateEditMessage, raw.types.UpdateEditChannelMessage)):
Expand Down
31 changes: 21 additions & 10 deletions pyrogram/methods/messages/edit_message_text.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ async def edit_message_text(
entities: List["types.MessageEntity"] = None,
disable_web_page_preview: bool = None,
invert_media: bool = None,
reply_markup: "types.InlineKeyboardMarkup" = None
reply_markup: "types.InlineKeyboardMarkup" = None,
business_connection_id: str = None
) -> "types.Message":
"""Edit the text of messages.
Expand Down Expand Up @@ -70,6 +71,9 @@ async def edit_message_text(
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
An InlineKeyboardMarkup object.
business_connection_id (``str``, *optional*):
Unique identifier of the business connection.
Returns:
:obj:`~pyrogram.types.Message`: On success, the edited message is returned.
Expand All @@ -85,16 +89,23 @@ async def edit_message_text(
disable_web_page_preview=True)
"""

r = await self.invoke(
raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
no_webpage=disable_web_page_preview or None,
invert_media=invert_media,
reply_markup=await reply_markup.write(self) if reply_markup else None,
**await utils.parse_text_entities(self, text, parse_mode, entities)
)
rpc = raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
no_webpage=disable_web_page_preview or None,
invert_media=invert_media,
reply_markup=await reply_markup.write(self) if reply_markup else None,
**await utils.parse_text_entities(self, text, parse_mode, entities)
)
if business_connection_id is not None:
r = await self.invoke(
raw.functions.InvokeWithBusinessConnection(
connection_id=business_connection_id,
query=rpc
)
)
else:
r = await self.invoke(rpc)

for i in r.updates:
if isinstance(i, (raw.types.UpdateEditMessage, raw.types.UpdateEditChannelMessage)):
Expand Down
41 changes: 26 additions & 15 deletions pyrogram/methods/messages/stop_poll.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ async def stop_poll(
self: "pyrogram.Client",
chat_id: Union[int, str],
message_id: int,
reply_markup: "types.InlineKeyboardMarkup" = None
reply_markup: "types.InlineKeyboardMarkup" = None,
business_connection_id: str = None
) -> "types.Poll":
"""Stop a poll which was sent by you.
Expand All @@ -50,6 +51,9 @@ async def stop_poll(
reply_markup (:obj:`~pyrogram.types.InlineKeyboardMarkup`, *optional*):
An InlineKeyboardMarkup object.
business_connection_id (``str``, *optional*):
Unique identifier of the business connection.
Returns:
:obj:`~pyrogram.types.Poll`: On success, the stopped poll with the final results is returned.
Expand All @@ -60,20 +64,27 @@ async def stop_poll(
"""
poll = (await self.get_messages(chat_id, message_id)).poll

r = await self.invoke(
raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
media=raw.types.InputMediaPoll(
poll=raw.types.Poll(
id=int(poll.id),
closed=True,
question="",
answers=[]
)
),
reply_markup=await reply_markup.write(self) if reply_markup else None
)
rpc = raw.functions.messages.EditMessage(
peer=await self.resolve_peer(chat_id),
id=message_id,
media=raw.types.InputMediaPoll(
poll=raw.types.Poll(
id=int(poll.id),
closed=True,
question="",
answers=[]
)
),
reply_markup=await reply_markup.write(self) if reply_markup else None
)
if business_connection_id is not None:
r = await self.invoke(
raw.functions.InvokeWithBusinessConnection(
connection_id=business_connection_id,
query=rpc
)
)
else:
r = await self.invoke(rpc)

return types.Poll._parse(self, r.updates[0])
25 changes: 18 additions & 7 deletions pyrogram/types/bots_and_keyboards/callback_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -215,15 +215,17 @@ async def edit_message_text(
text=text,
parse_mode=parse_mode,
disable_web_page_preview=disable_web_page_preview,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=getattr(self.message, "business_connection_id", None)
)
else:
return await self._client.edit_inline_text(
inline_message_id=self.inline_message_id,
text=text,
parse_mode=parse_mode,
disable_web_page_preview=disable_web_page_preview,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=getattr(self.message, "business_connection_id", None)
)

async def edit_message_caption(
Expand Down Expand Up @@ -254,7 +256,12 @@ async def edit_message_caption(
Raises:
RPCError: In case of a Telegram RPC error.
"""
return await self.edit_message_text(caption, parse_mode, reply_markup=reply_markup)
return await self.edit_message_text(
caption,
parse_mode,
reply_markup=reply_markup,
business_connection_id=getattr(self.message, "business_connection_id", None)
)

async def edit_message_media(
self,
Expand Down Expand Up @@ -284,13 +291,15 @@ async def edit_message_media(
chat_id=self.message.chat.id,
message_id=self.message.id,
media=media,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=getattr(self.message, "business_connection_id", None)
)
else:
return await self._client.edit_inline_media(
inline_message_id=self.inline_message_id,
media=media,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=getattr(self.message, "business_connection_id", None)
)

async def edit_message_reply_markup(
Expand All @@ -316,10 +325,12 @@ async def edit_message_reply_markup(
return await self._client.edit_message_reply_markup(
chat_id=self.message.chat.id,
message_id=self.message.id,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=getattr(self.message, "business_connection_id", None)
)
else:
return await self._client.edit_inline_reply_markup(
inline_message_id=self.inline_message_id,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=getattr(self.message, "business_connection_id", None)
)
12 changes: 8 additions & 4 deletions pyrogram/types/messages_and_media/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -4121,7 +4121,8 @@ async def edit_text(
entities=entities,
disable_web_page_preview=disable_web_page_preview,
invert_media=invert_media,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=self.business_connection_id
)

edit = edit_text
Expand Down Expand Up @@ -4181,7 +4182,8 @@ async def edit_caption(
parse_mode=parse_mode,
caption_entities=caption_entities,
invert_media=invert_media,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=self.business_connection_id
)

async def edit_media(
Expand Down Expand Up @@ -4228,7 +4230,8 @@ async def edit_media(
message_id=self.id,
media=media,
invert_media=invert_media,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=self.business_connection_id
)

async def edit_reply_markup(self, reply_markup: "types.InlineKeyboardMarkup" = None) -> "Message":
Expand Down Expand Up @@ -4263,7 +4266,8 @@ async def edit_reply_markup(self, reply_markup: "types.InlineKeyboardMarkup" = N
return await self._client.edit_message_reply_markup(
chat_id=self.chat.id,
message_id=self.id,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=self.business_connection_id
)

async def forward(
Expand Down
3 changes: 2 additions & 1 deletion pyrogram/types/messages_and_media/poll.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,5 +250,6 @@ async def stop(
return await self._client.stop_poll(
chat_id=self.chat.id,
message_id=self.id,
reply_markup=reply_markup
reply_markup=reply_markup,
business_connection_id=self.business_connection_id
)

0 comments on commit e999da4

Please sign in to comment.