@@ -172,3 +172,175 @@ def answer(self, text: str = None, show_alert: bool = None, url: str = None, cac
172172 url = url ,
173173 cache_time = cache_time
174174 )
175+
176+ def edit (
177+ self ,
178+ text : str ,
179+ parse_mode : str = "" ,
180+ disable_web_page_preview : bool = None ,
181+ reply_markup : "pyrogram.InlineKeyboardMarkup" = None
182+ ) -> Union ["pyrogram.Message" , bool ]:
183+ """Bound method *edit* of :obj:`CallbackQuery`.
184+
185+ Parameters:
186+ text (``str``):
187+ New text of the message.
188+
189+ parse_mode (``str``, *optional*):
190+ Pass "markdown" or "html" if you want Telegram apps to show bold, italic, fixed-width text or inline
191+ URLs in your message. Defaults to "markdown".
192+
193+ disable_web_page_preview (``bool``, *optional*):
194+ Disables link previews for links in this message.
195+
196+ reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
197+ An InlineKeyboardMarkup object.
198+
199+ Returns:
200+ :obj:`Message` | ``bool``: On success, if the edited message was sent by the bot, the edited message is
201+ returned, otherwise True is returned (message sent via the bot, as inline query result).
202+
203+ Raises:
204+ RPCError: In case of a Telegram RPC error.
205+ """
206+ chat_id = None
207+ message_id = None
208+ inline_message_id = None
209+
210+ if self .message is not None :
211+ chat_id = self .message .chat .id
212+ message_id = self .message .message_id
213+
214+ if self .inline_message_id is not None :
215+ inline_message_id = self .inline_message_id
216+
217+ return self ._client .edit_message_text (
218+ text = text ,
219+ chat_id = chat_id ,
220+ message_id = message_id ,
221+ inline_message_id = inline_message_id ,
222+ parse_mode = parse_mode ,
223+ disable_web_page_preview = disable_web_page_preview ,
224+ reply_markup = reply_markup
225+ )
226+
227+ def edit_caption (
228+ self ,
229+ caption : str ,
230+ parse_mode : str = "" ,
231+ reply_markup : "pyrogram.InlineKeyboardMarkup" = None
232+ ) -> Union ["pyrogram.Message" , bool ]:
233+ """Bound method *edit_caption* of :obj:`Message`.
234+
235+ Parameters:
236+ caption (``str``):
237+ New caption of the message.
238+
239+ parse_mode (``str``, *optional*):
240+ Pass "markdown" or "html" if you want Telegram apps to show bold, italic, fixed-width text or inline
241+ URLs in your message. Defaults to "markdown".
242+
243+ reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
244+ An InlineKeyboardMarkup object.
245+
246+ Returns:
247+ :obj:`Message` | ``bool``: On success, if the edited message was sent by the bot, the edited message is
248+ returned, otherwise True is returned (message sent via the bot, as inline query result).
249+
250+ Raises:
251+ RPCError: In case of a Telegram RPC error.
252+ """
253+ chat_id = None
254+ message_id = None
255+ inline_message_id = None
256+
257+ if self .message is not None :
258+ chat_id = self .message .chat .id
259+ message_id = self .message .message_id
260+
261+ if self .inline_message_id is not None :
262+ inline_message_id = self .inline_message_id
263+
264+ return self ._client .edit_message_text (
265+ text = caption ,
266+ chat_id = chat_id ,
267+ message_id = message_id ,
268+ inline_message_id = inline_message_id ,
269+ parse_mode = parse_mode ,
270+ reply_markup = reply_markup
271+ )
272+
273+ def edit_media (
274+ self ,
275+ media : "pyrogram.InputMedia" ,
276+ reply_markup : "pyrogram.InlineKeyboardMarkup" = None
277+ ) -> Union ["pyrogram.Message" , bool ]:
278+ """Bound method *edit_media* of :obj:`Message`.
279+
280+ Parameters:
281+ media (:obj:`InputMedia`):
282+ One of the InputMedia objects describing an animation, audio, document, photo or video.
283+
284+ reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
285+ An InlineKeyboardMarkup object.
286+
287+ Returns:
288+ :obj:`Message` | ``bool``: On success, if the edited message was sent by the bot, the edited message is
289+ returned, otherwise True is returned (message sent via the bot, as inline query result).
290+
291+ Raises:
292+ RPCError: In case of a Telegram RPC error.
293+ """
294+ chat_id = None
295+ message_id = None
296+ inline_message_id = None
297+
298+ if self .message is not None :
299+ chat_id = self .message .chat .id
300+ message_id = self .message .message_id
301+
302+ if self .inline_message_id is not None :
303+ inline_message_id = self .inline_message_id
304+
305+ return self ._client .edit_message_media (
306+ media = media ,
307+ chat_id = chat_id ,
308+ message_id = message_id ,
309+ inline_message_id = inline_message_id ,
310+ reply_markup = reply_markup
311+ )
312+
313+ def edit_reply_markup (
314+ self ,
315+ reply_markup : "pyrogram.InlineKeyboardMarkup" = None
316+ ) -> Union ["pyrogram.Message" , bool ]:
317+ """Bound method *edit_reply_markup* of :obj:`Message`.
318+
319+ Parameters:
320+ reply_markup (:obj:`InlineKeyboardMarkup`):
321+ An InlineKeyboardMarkup object.
322+
323+ Returns:
324+ :obj:`Message` | ``bool``: On success, if the edited message was sent by the bot, the edited message is
325+ returned, otherwise True is returned (message sent via the bot, as inline query result).
326+
327+ Raises:
328+ RPCError: In case of a Telegram RPC error.
329+ """
330+ chat_id = None
331+ message_id = None
332+ inline_message_id = None
333+
334+ if self .message is not None :
335+ chat_id = self .message .chat .id
336+ message_id = self .message .message_id
337+
338+ if self .inline_message_id is not None :
339+ inline_message_id = self .inline_message_id
340+
341+ return self ._client .edit_message_reply_markup (
342+ reply_markup = reply_markup ,
343+ chat_id = chat_id ,
344+ message_id = message_id ,
345+ inline_message_id = inline_message_id
346+ )
0 commit comments