diff --git a/requirements.txt b/requirements.txt
index a873e2939..e9df906a4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
-dnspython
-heroku3
-motor
-pyrogram==2.0.58
-tgcrypto
+dnspython==2.2.0
+heroku3==4.2.1
+motor==3.3.2 # 2.5.1
+pyrotgfork==2.2.9
+TgCrypto==1.2.5
diff --git a/userge/core/methods/messages/edit_message_text.py b/userge/core/methods/messages/edit_message_text.py
index d44b31f7d..9a869532f 100644
--- a/userge/core/methods/messages/edit_message_text.py
+++ b/userge/core/methods/messages/edit_message_text.py
@@ -15,7 +15,10 @@
from typing import Optional, Union, List
from pyrogram import enums
-from pyrogram.types import InlineKeyboardMarkup, MessageEntity
+from pyrogram.types import (
+ InlineKeyboardMarkup, MessageEntity,
+ LinkPreviewOptions
+)
from userge import config
from ...ext import RawClient
@@ -31,7 +34,7 @@ async def edit_message_text(self, # pylint: disable=arguments-differ
log: Union[bool, str] = False,
parse_mode: Optional[enums.ParseMode] = None,
entities: List[MessageEntity] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
reply_markup: InlineKeyboardMarkup = None
) -> Union['types.bound.Message', bool]:
"""\nExample:
@@ -72,7 +75,7 @@ async def edit_message_text(self, # pylint: disable=arguments-differ
List of special entities that appear in message text,
which can be specified instead of *parse_mode*.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
@@ -85,13 +88,15 @@ async def edit_message_text(self, # pylint: disable=arguments-differ
Raises:
RPCError: In case of a Telegram RPC error.
"""
- msg = await super().edit_message_text(chat_id=chat_id,
- message_id=message_id,
- text=text,
- parse_mode=parse_mode,
- entities=entities,
- disable_web_page_preview=disable_web_page_preview,
- reply_markup=reply_markup)
+ msg = await super().edit_message_text(
+ chat_id=chat_id,
+ message_id=message_id,
+ text=text,
+ parse_mode=parse_mode,
+ entities=entities,
+ link_preview_options=link_preview_options,
+ reply_markup=reply_markup
+ )
module = inspect.currentframe().f_back.f_globals['__name__']
if log:
await self._channel.fwd_msg(msg, module if isinstance(log, bool) else log)
diff --git a/userge/core/methods/messages/send_as_file.py b/userge/core/methods/messages/send_as_file.py
index d335a0434..6771c8b9f 100644
--- a/userge/core/methods/messages/send_as_file.py
+++ b/userge/core/methods/messages/send_as_file.py
@@ -15,6 +15,7 @@
from typing import Union, Optional
from pyrogram.parser import Parser
+from pyrogram.types import ReplyParameters
from userge import logging
from ... import types
@@ -74,11 +75,15 @@ async def send_as_file(self,
doc = io.BytesIO(text.encode())
doc.name = filename
- msg = await self.send_document(chat_id=chat_id,
- document=doc,
- caption=caption[:1024],
- disable_notification=True,
- reply_to_message_id=reply_to_message_id)
+ msg = await self.send_document(
+ chat_id=chat_id,
+ document=doc,
+ caption=caption[:1024],
+ disable_notification=True,
+ reply_parameters=ReplyParameters(
+ message_id=reply_to_message_id
+ )
+ )
module = inspect.currentframe().f_back.f_globals['__name__']
if log:
await self._channel.fwd_msg(msg, module if isinstance(log, bool) else log)
diff --git a/userge/core/methods/messages/send_message.py b/userge/core/methods/messages/send_message.py
index 61ea7f476..7ce48336d 100644
--- a/userge/core/methods/messages/send_message.py
+++ b/userge/core/methods/messages/send_message.py
@@ -17,7 +17,9 @@
from pyrogram.types import (
InlineKeyboardMarkup, ReplyKeyboardMarkup,
- ReplyKeyboardRemove, ForceReply, MessageEntity)
+ ReplyKeyboardRemove, ForceReply, MessageEntity,
+ LinkPreviewOptions, ReplyParameters
+)
from pyrogram import enums
from userge import config
@@ -33,7 +35,7 @@ async def send_message(self, # pylint: disable=arguments-differ
log: Union[bool, str] = False,
parse_mode: Optional[enums.ParseMode] = None,
entities: List[MessageEntity] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
disable_notification: Optional[bool] = None,
reply_to_message_id: Optional[int] = None,
schedule_date: Optional[datetime] = None,
@@ -77,7 +79,7 @@ async def send_message(self, # pylint: disable=arguments-differ
List of special entities that appear in message text,
which can be specified instead of *parse_mode*.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
disable_notification (``bool``, *optional*):
@@ -102,16 +104,20 @@ async def send_message(self, # pylint: disable=arguments-differ
Returns:
:obj:`Message`: On success, the sent text message or True is returned.
"""
- msg = await super().send_message(chat_id=chat_id,
- text=text,
- parse_mode=parse_mode,
- entities=entities,
- disable_web_page_preview=disable_web_page_preview,
- disable_notification=disable_notification,
- reply_to_message_id=reply_to_message_id,
- schedule_date=schedule_date,
- protect_content=protect_content,
- reply_markup=reply_markup)
+ msg = await super().send_message(
+ chat_id=chat_id,
+ text=text,
+ parse_mode=parse_mode,
+ entities=entities,
+ link_preview_options=link_preview_options,
+ disable_notification=disable_notification,
+ reply_parameters=ReplyParameters(
+ message_id=reply_to_message_id
+ ),
+ schedule_date=schedule_date,
+ protect_content=protect_content,
+ reply_markup=reply_markup
+ )
module = inspect.currentframe().f_back.f_globals['__name__']
if log:
await self._channel.fwd_msg(msg, module if isinstance(log, bool) else log)
diff --git a/userge/core/types/bound/message.py b/userge/core/types/bound/message.py
index f85374bfc..ac0d41826 100644
--- a/userge/core/types/bound/message.py
+++ b/userge/core/types/bound/message.py
@@ -16,7 +16,11 @@
from datetime import datetime
from typing import List, Dict, Tuple, Union, Optional, Sequence, Callable, Any
-from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, Message as RawMessage
+from pyrogram.types import (
+ InlineKeyboardMarkup, InlineKeyboardButton,
+ Message as RawMessage,
+ LinkPreviewOptions
+)
from pyrogram.errors import (
MessageAuthorRequired, MessageTooLong, MessageNotModified,
MessageIdInvalid, MessageDeleteForbidden, BotInlineDisabled
@@ -298,13 +302,15 @@ async def reply_as_file(self,
asyncio.get_event_loop().create_task(self.delete())
if log and isinstance(log, bool):
log = self._module
- return await self._client.send_as_file(chat_id=self.chat.id,
- text=text,
- as_raw=as_raw,
- filename=filename,
- caption=caption,
- log=log,
- reply_to_message_id=reply_to_id)
+ return await self._client.send_as_file(
+ chat_id=self.chat.id,
+ text=text,
+ as_raw=as_raw,
+ filename=filename,
+ caption=caption,
+ log=log,
+ reply_to_message_id=reply_to_id
+ )
async def reply(self,
text: str,
@@ -312,7 +318,7 @@ async def reply(self,
log: Union[bool, str] = False,
quote: Optional[bool] = None,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
disable_notification: Optional[bool] = None,
reply_to_message_id: Optional[int] = None,
schedule_date: Optional[datetime] = None,
@@ -350,7 +356,7 @@ async def reply(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
disable_notification (``bool``, *optional*):
@@ -386,17 +392,19 @@ async def reply(self,
reply_to_message_id = self.id
if log and isinstance(log, bool):
log = self._module
- return await self._client.send_message(chat_id=self.chat.id,
- text=text,
- del_in=del_in,
- log=log,
- parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
- disable_notification=disable_notification,
- reply_to_message_id=reply_to_message_id,
- schedule_date=schedule_date,
- protect_content=protect_content,
- reply_markup=reply_markup)
+ return await self._client.send_message(
+ chat_id=self.chat.id,
+ text=text,
+ del_in=del_in,
+ log=log,
+ parse_mode=parse_mode,
+ link_preview_options=link_preview_options,
+ disable_notification=disable_notification,
+ reply_to_message_id=reply_to_message_id,
+ schedule_date=schedule_date,
+ protect_content=protect_content,
+ reply_markup=reply_markup
+ )
reply_text = reply
@@ -406,7 +414,7 @@ async def edit(self,
log: Union[bool, str] = False,
sudo: bool = True,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
reply_markup: InlineKeyboardMarkup = None) -> Union['Message', bool]:
"""\nExample:
message.edit_text("hello")
@@ -435,7 +443,7 @@ async def edit(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
@@ -458,7 +466,7 @@ async def edit(self,
del_in=del_in,
log=log,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
except MessageNotModified:
return self
@@ -468,7 +476,7 @@ async def edit(self,
del_in=del_in,
log=log,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
if isinstance(msg, Message):
self.id = msg.id # pylint: disable=W0201
@@ -482,7 +490,7 @@ async def force_edit(self,
del_in: int = -1,
log: Union[bool, str] = False,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
reply_markup: InlineKeyboardMarkup = None,
**kwargs) -> Union['Message', bool]:
"""\nThis will first try to message.edit.
@@ -513,7 +521,7 @@ async def force_edit(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
@@ -531,14 +539,14 @@ async def force_edit(self,
log=log,
sudo=False,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
except (MessageAuthorRequired, MessageIdInvalid):
return await self.reply(text=text,
del_in=del_in,
log=log,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup,
**kwargs)
@@ -549,7 +557,7 @@ async def err(self,
log: Union[bool, str] = False,
sudo: bool = True,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
reply_markup: InlineKeyboardMarkup = None) -> Union['Message', bool]:
"""\nYou can send error messages with command info button using this method
@@ -582,7 +590,7 @@ async def err(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
@@ -608,7 +616,7 @@ async def err(self,
log=log,
sudo=sudo,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
bot_username = (await self._client.get_me()).username
if self._client.is_bot:
@@ -622,7 +630,7 @@ async def err(self,
log=log,
sudo=sudo,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
else:
bot_username = (await self._client.bot.get_me()).username
@@ -642,7 +650,7 @@ async def err(self,
log=log,
sudo=sudo,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
return msg_obj
@@ -652,7 +660,7 @@ async def force_err(self,
show_help: bool = True,
log: Union[bool, str] = False,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
reply_markup: InlineKeyboardMarkup = None) -> Union['Message', bool]:
"""\nThis will first try to message.err.
If it raise MessageAuthorRequired or
@@ -685,7 +693,7 @@ async def force_err(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
@@ -704,7 +712,7 @@ async def force_err(self,
show_help=show_help,
log=log,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
except (MessageAuthorRequired, MessageIdInvalid):
if show_help:
@@ -719,7 +727,7 @@ async def force_err(self,
del_in=del_in,
log=log,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
bot_username = (await self._client.get_me()).username
if self._client.is_bot:
@@ -732,7 +740,7 @@ async def force_err(self,
del_in=del_in,
log=log,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
else:
bot_username = (await self._client.bot.get_me()).username
@@ -751,7 +759,7 @@ async def force_err(self,
del_in=del_in,
log=log,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
return msg_obj
@@ -762,7 +770,7 @@ async def edit_or_send_as_file(self,
sudo: bool = True,
as_raw: bool = False,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
reply_markup: InlineKeyboardMarkup = None,
**kwargs) -> Union['Message', bool]:
"""\nThis will first try to message.edit.
@@ -800,7 +808,7 @@ async def edit_or_send_as_file(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
@@ -821,7 +829,7 @@ async def edit_or_send_as_file(self,
log=log,
sudo=sudo,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup)
except (MessageTooLong, OSError):
return await self.reply_as_file(text=text, as_raw=as_raw, log=log, **kwargs)
@@ -833,7 +841,7 @@ async def reply_or_send_as_file(self,
quote: Optional[bool] = None,
as_raw: bool = False,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
disable_notification: Optional[bool] = None,
reply_to_message_id: Optional[int] = None,
reply_markup: InlineKeyboardMarkup = None,
@@ -878,7 +886,7 @@ async def reply_or_send_as_file(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
disable_notification (``bool``, *optional*):
@@ -911,7 +919,7 @@ async def reply_or_send_as_file(self,
log=log,
quote=quote,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
disable_notification=disable_notification,
reply_to_message_id=reply_to_message_id,
reply_markup=reply_markup)
@@ -924,7 +932,7 @@ async def force_edit_or_send_as_file(self,
log: Union[bool, str] = False,
as_raw: bool = False,
parse_mode: Optional[enums.ParseMode] = None,
- disable_web_page_preview: Optional[bool] = None,
+ link_preview_options: Optional[LinkPreviewOptions] = None,
reply_markup: InlineKeyboardMarkup = None,
**kwargs) -> Union['Message', bool]:
"""\nThis will first try to message.edit_or_send_as_file.
@@ -959,7 +967,7 @@ async def force_edit_or_send_as_file(self,
Pass "html" to enable HTML-style parsing only.
Pass None to completely disable style parsing.
- disable_web_page_preview (``bool``, *optional*):
+ link_preview_options (:obj:`pyrogram.types.LinkPreviewOptions`, *optional*):
Disables link previews for links in this message.
reply_markup (:obj:`InlineKeyboardMarkup`, *optional*):
@@ -979,7 +987,7 @@ async def force_edit_or_send_as_file(self,
sudo=False,
as_raw=as_raw,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup,
**kwargs)
except (MessageAuthorRequired, MessageIdInvalid):
@@ -989,7 +997,7 @@ async def force_edit_or_send_as_file(self,
log=log,
as_raw=as_raw,
parse_mode=parse_mode,
- disable_web_page_preview=disable_web_page_preview,
+ link_preview_options=link_preview_options,
reply_markup=reply_markup,
**kwargs)
diff --git a/userge/core/types/new/channel_logger.py b/userge/core/types/new/channel_logger.py
index 370ec7e69..0e583c8eb 100644
--- a/userge/core/types/new/channel_logger.py
+++ b/userge/core/types/new/channel_logger.py
@@ -14,7 +14,11 @@
from typing import Optional, Union
from pyrogram.errors import ChatWriteForbidden
-from pyrogram.types import Message as RawMessage
+from pyrogram.types import (
+ Message as RawMessage,
+ LinkPreviewOptions,
+ ReplyParameters
+)
from pyrogram.errors.exceptions import MessageTooLong
from userge import config
@@ -72,7 +76,9 @@ async def log(self, text: str, name: str = '') -> int:
try:
msg = await self._client.send_message(chat_id=self._id,
text=string.format(text.strip()),
- disable_web_page_preview=True)
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ ))
except MessageTooLong:
msg = await self._client.send_as_file(chat_id=self._id,
text=string.format(text.strip()),
@@ -203,14 +209,20 @@ async def forward_stored(self,
chat_id=chat_id,
file_id=file_id,
caption=caption,
- reply_to_message_id=reply_to_message_id,
+ reply_parameters=ReplyParameters(
+ message_id=reply_to_message_id
+ ),
reply_markup=buttons if client.is_bot and buttons else None)
else:
msg = await client.send_message(
chat_id=chat_id,
text=caption,
- reply_to_message_id=reply_to_message_id,
- disable_web_page_preview=True,
+ reply_parameters=ReplyParameters(
+ message_id=reply_to_message_id
+ ),
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ ),
reply_markup=buttons if client.is_bot and buttons else None)
if del_in and msg:
await asyncio.sleep(del_in)
diff --git a/userge/plugins/builtin/executor/__main__.py b/userge/plugins/builtin/executor/__main__.py
index 6ff890db0..5564984ed 100644
--- a/userge/plugins/builtin/executor/__main__.py
+++ b/userge/plugins/builtin/executor/__main__.py
@@ -43,6 +43,7 @@ def getpgid(arg: Any) -> Any:
setsid = None
from pyrogram.types.messages_and_media.message import Str
+from pyrogram.types import LinkPreviewOptions
from pyrogram import enums
from userge import userge, Message, config, pool
@@ -213,12 +214,16 @@ async def _callback(output: Optional[str], errored: bool):
msg_id = await CHANNEL.log(final)
await msg.edit(f"**Logs**: {CHANNEL.get_link(msg_id)}")
elif final:
- await msg.edit_or_send_as_file(text=final,
- as_raw=as_raw,
- parse_mode=enums.ParseMode.MARKDOWN,
- disable_web_page_preview=True,
- filename="eval.txt",
- caption=cmd)
+ await msg.edit_or_send_as_file(
+ text=final,
+ as_raw=as_raw,
+ parse_mode=enums.ParseMode.MARKDOWN,
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ ),
+ filename="eval.txt",
+ caption=cmd
+ )
else:
await msg.delete()
diff --git a/userge/plugins/builtin/help/__main__.py b/userge/plugins/builtin/help/__main__.py
index 8fc4cefbc..7c648aacb 100644
--- a/userge/plugins/builtin/help/__main__.py
+++ b/userge/plugins/builtin/help/__main__.py
@@ -13,11 +13,13 @@
from uuid import uuid4
from pyrogram import filters, enums
-from pyrogram.errors.exceptions.bad_request_400 import MessageNotModified, MessageIdInvalid
+from pyrogram.errors import MessageNotModified, MessageIdInvalid
from pyrogram.types import (
InlineQueryResultArticle, InputTextMessageContent,
InlineKeyboardMarkup, InlineKeyboardButton,
- CallbackQuery, InlineQuery)
+ CallbackQuery, InlineQuery,
+ LinkPreviewOptions
+)
from userge import userge, Message, config, get_collection
from userge.utils import is_command
@@ -112,7 +114,9 @@ async def helpme(message: Message) -> None: # pylint: disable=missing-function-
await message.edit(out_str,
del_in=0,
parse_mode=enums.ParseMode.HTML,
- disable_web_page_preview=True)
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ ))
if userge.has_bot:
@@ -156,7 +160,13 @@ async def pm_help_handler(_, msg: Message):
else:
out_str = f"No Command Found for: {cmd}
"
- await msg.reply(out_str, parse_mode=enums.ParseMode.HTML, disable_web_page_preview=True)
+ await msg.reply(
+ out_str,
+ parse_mode=enums.ParseMode.HTML,
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ )
+ )
@userge.bot.on_callback_query(
filters=filters.regex(
diff --git a/userge/plugins/builtin/loader/__main__.py b/userge/plugins/builtin/loader/__main__.py
index 2c7a29075..a98ef9b50 100644
--- a/userge/plugins/builtin/loader/__main__.py
+++ b/userge/plugins/builtin/loader/__main__.py
@@ -8,6 +8,8 @@
from typing import List
+from pyrogram.types import LinkPreviewOptions
+
from loader.types import Update
from loader.userge import api
from userge import userge, Message, config
@@ -58,7 +60,9 @@ async def core(message: Message):
out = _updates_to_str(updates)
await message.edit_or_send_as_file(
f"**{len(updates)}** new commits available for core repo\n\n{out}",
- del_in=0, disable_web_page_preview=True)
+ del_in=0, link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ ))
elif get_old:
updates = await api.get_core_old_commits(old_limit)
@@ -70,7 +74,9 @@ async def core(message: Message):
out = _updates_to_str(updates)
await message.edit_or_send_as_file(
f"**{len(updates)}** old commits of core repo\n\n{out}",
- del_in=0, disable_web_page_preview=True)
+ del_in=0, link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ ))
elif set_branch or set_version:
if not branch and not version:
@@ -115,7 +121,13 @@ async def core(message: Message):
**is latest** : `{core_repo.count == core_repo.max_count}`
**head** : [link]({core_repo.head_url})"""
- await message.edit(out, del_in=0, disable_web_page_preview=True)
+ await message.edit(
+ out,
+ del_in=0,
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ )
+ )
@userge.on_cmd("repos", about={
@@ -184,7 +196,13 @@ async def repos(message: Message):
out += f"**is latest** : `{plg_repo.count == plg_repo.max_count}`\n"
out += f"**head** : [link]({plg_repo.head_url})\n\n"
- await message.edit_or_send_as_file(out, del_in=0, disable_web_page_preview=True)
+ await message.edit_or_send_as_file(
+ out,
+ del_in=0,
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ )
+ )
else:
if fetch:
@@ -206,7 +224,11 @@ async def repos(message: Message):
out = _updates_to_str(updates)
await message.edit_or_send_as_file(
f"**{len(updates)}** new commits available for repo: `{repo_id}`\n\n{out}",
- del_in=0, disable_web_page_preview=True)
+ del_in=0,
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ )
+ )
elif get_old:
updates = await api.get_repo_old_commits(repo_id, old_limit)
@@ -218,7 +240,11 @@ async def repos(message: Message):
out = _updates_to_str(updates)
await message.edit_or_send_as_file(
f"**{len(updates)}** old commits of repo: `{repo_id}`\n\n{out}",
- del_in=0, disable_web_page_preview=True)
+ del_in=0,
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ )
+ )
elif set_branch or set_version or set_priority:
if not branch and not version and not priority:
@@ -534,7 +560,13 @@ async def update(message: Message):
"updated to latest, "
f"do `{config.CMD_TRIGGER}restart -h` to apply changes", del_in=3)
else:
- await message.edit_or_send_as_file(updates, del_in=0, disable_web_page_preview=True)
+ await message.edit_or_send_as_file(
+ updates,
+ del_in=0,
+ link_preview_options=LinkPreviewOptions(
+ is_disabled=True
+ )
+ )
else:
await message.edit("
no updates found", del_in=3)