diff --git a/plugins/fun/animesticker/__main__.py b/plugins/fun/animesticker/__main__.py index 1b63ef361..2339224f8 100644 --- a/plugins/fun/animesticker/__main__.py +++ b/plugins/fun/animesticker/__main__.py @@ -11,7 +11,7 @@ # By @Krishna_Singhal import random - +from pyrogram.types import ReplyParameters from emoji import get_emoji_regexp from userge import userge, Message @@ -35,7 +35,7 @@ async def anime_sticker(message: Message): if args: text = args elif replied: - text = args if args else replied.text + text = args or replied.text else: await message.err("Input not found!") return @@ -77,7 +77,8 @@ async def anime_sticker(message: Message): await userge.send_sticker( chat_id=message.chat.id, sticker=str(saved.sticker.file_id), - reply_to_message_id=message_id + reply_parameters=ReplyParameters( + message_id=message_id) if message_id else None, ) await saved.delete() except IndexError: diff --git a/plugins/fun/autofastly/__main__.py b/plugins/fun/autofastly/__main__.py index ea57da77e..569cf304f 100644 --- a/plugins/fun/autofastly/__main__.py +++ b/plugins/fun/autofastly/__main__.py @@ -13,7 +13,7 @@ import os from pyrogram import enums - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message, filters, config, get_collection from ...utils import ocr @@ -45,7 +45,7 @@ async def autofastly(msg: Message): "Oops!!get the OCR API from " "HERE " "& add it to Heroku config vars (OCR_SPACE_API_KEY)", - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML, del_in=0) return diff --git a/plugins/fun/carbon/__main__.py b/plugins/fun/carbon/__main__.py index 579b892b9..4f34e68c1 100644 --- a/plugins/fun/carbon/__main__.py +++ b/plugins/fun/carbon/__main__.py @@ -15,6 +15,7 @@ import aiofiles from pyrogram.errors.exceptions.bad_request_400 import YouBlockedUser +from pyrogram.types import ReplyParameters from selenium import webdriver from userge import userge, Message, config @@ -72,7 +73,7 @@ async def carbon_(message: Message): userge.send_document(chat_id=message.chat.id, document=file_id, caption='`' + caption + '`', - reply_to_message_id=replied.id if replied else None) + reply_parameters=ReplyParameters(message_id=replied.id if replied else None)) ) else: input_str = message.filtered_input_str @@ -169,7 +170,8 @@ async def carbon_(message: Message): message.delete(), message.client.send_photo(chat_id=message.chat.id, photo=carbon_path, - reply_to_message_id=message_id) + repy_parameters=ReplyParameters(message_id=message_id) + ) ) os.remove(carbon_path) driver.quit() diff --git a/plugins/fun/deepfry/__main__.py b/plugins/fun/deepfry/__main__.py index 3b1354f7d..cdb310fa7 100644 --- a/plugins/fun/deepfry/__main__.py +++ b/plugins/fun/deepfry/__main__.py @@ -12,6 +12,7 @@ import random from PIL import Image, ImageEnhance, ImageOps +from pyrogram.types import ReplyParameters from pyrogram.errors.exceptions.bad_request_400 import YouBlockedUser from userge import userge, Message, config @@ -75,7 +76,7 @@ async def deepfryer(message: Message): await message.client.send_photo(chat_id=message.chat.id, photo=fried_file, - reply_to_message_id=replied.id) + reply_parameters=ReplyParameters(message_id=replied.id)) await message.delete() os.remove(fried_file) @@ -195,7 +196,7 @@ async def fry_(message: Message): await userge.send_message( chat, f"/deepfry {args}", - reply_to_message_id=media.id, + reply_parameters=ReplyParameters(message_id=media.id), ) response = await conv.get_response(mark_read=True) if not response.photo: @@ -213,7 +214,7 @@ async def fry_(message: Message): await message.client.send_sticker( message.chat.id, sticker=deep_fry, - reply_to_message_id=message_id, + reply_parameters=ReplyParameters(message_id=message_id) ) await message.delete() for garb in (dls_loc, frying_file, deep_fry): diff --git a/plugins/fun/gifify/__main__.py b/plugins/fun/gifify/__main__.py index 788021b2e..26cf42772 100644 --- a/plugins/fun/gifify/__main__.py +++ b/plugins/fun/gifify/__main__.py @@ -13,6 +13,7 @@ import os import lottie +from pyrogram.types import ReplyParameters from userge import userge, Message, config, pool @@ -51,7 +52,8 @@ async def gifify(msg: Message): msg.chat.id, converted_gif, unsave=True, - reply_to_message_id=replied.id) + reply_params=ReplyParameters(message_id=replied.id), + ) await msg.delete() os.remove(converted_gif) diff --git a/plugins/fun/glitch/__main__.py b/plugins/fun/glitch/__main__.py index c2aaa6302..07105ea01 100644 --- a/plugins/fun/glitch/__main__.py +++ b/plugins/fun/glitch/__main__.py @@ -14,7 +14,7 @@ from PIL import Image from glitch_this import ImageGlitcher - +from pyrogram.types import ReplyParameters from userge import userge, Message, config from userge.utils import take_screen_shot, runcmd @@ -89,7 +89,8 @@ async def glitch_(message: Message): await message.client.send_sticker( message.chat.id, glitched, - reply_to_message_id=message_id) + reply_parameters=ReplyParameters(message_id=message_id) + ) os.remove(glitched) await message.delete() else: @@ -106,7 +107,8 @@ async def glitch_(message: Message): await message.client.send_animation( message.chat.id, Glitched, - reply_to_message_id=message_id) + reply_parameters=ReplyParameters(message_id=message_id) + ) os.remove(Glitched) await message.delete() for files in (dls_loc, glitch_file): diff --git a/plugins/fun/meme/__main__.py b/plugins/fun/meme/__main__.py index 193002e62..7e9f0b59c 100644 --- a/plugins/fun/meme/__main__.py +++ b/plugins/fun/meme/__main__.py @@ -13,7 +13,7 @@ import os from pyrogram.errors.exceptions.bad_request_400 import YouBlockedUser - +from pyrogram.types import ReplyParameters from userge import userge, Message, config from userge.utils import take_screen_shot, runcmd @@ -85,7 +85,7 @@ async def meme_(message: Message): await conv.send_message(message.input_str) response = await conv.get_response(mark_read=True) if response.sticker: - await response.copy(message.chat.id, reply_to_message_id=replied.id) + await response.copy(message.chat.id, reply_parameters=ReplyParameters(message_id=replied.id)) await message.delete() for file in (meme_file, dls_loc): if file and os.path.exists(file): diff --git a/plugins/fun/memes/__main__.py b/plugins/fun/memes/__main__.py index edd990871..0ed87aba9 100644 --- a/plugins/fun/memes/__main__.py +++ b/plugins/fun/memes/__main__.py @@ -15,6 +15,7 @@ from re import sub from pyrogram import enums +from pyrogram.types import ReplyParameters import requests import wget @@ -359,12 +360,13 @@ async def decide_(message: Message): await message.client.send_animation(chat_id=chat_id, animation=path, caption=str(r["answer"]).upper(), - reply_to_message_id=message_id) + reply_parameters=ReplyParameters(message_id=message_id) +) else: await message.client.send_photo(chat_id=chat_id, photo=path, caption=str(r["answer"]).upper(), - reply_to_message_id=message_id) + reply_parameters=ReplyParameters(message_id=message_id)) os.remove(path) diff --git a/plugins/fun/memify/__main__.py b/plugins/fun/memify/__main__.py index 6852257a1..6e9be7172 100644 --- a/plugins/fun/memify/__main__.py +++ b/plugins/fun/memify/__main__.py @@ -12,6 +12,7 @@ import textwrap from PIL import Image, ImageFont, ImageDraw +from pyrogram.types import ReplyParameters from userge import userge, Message, config from userge.utils import progress, take_screen_shot, runcmd @@ -66,7 +67,7 @@ async def memify(message: Message): webp_file = await draw_meme_text(dls_loc, message.input_str) await message.client.send_sticker(chat_id=message.chat.id, sticker=webp_file, - reply_to_message_id=replied.id) + reply_parameters=ReplyParameters(message_id=replied.id)) await message.delete() os.remove(webp_file) diff --git a/plugins/fun/poll/__main__.py b/plugins/fun/poll/__main__.py index 35a2ef4ec..b90c6aac1 100644 --- a/plugins/fun/poll/__main__.py +++ b/plugins/fun/poll/__main__.py @@ -13,7 +13,7 @@ import random from userge import userge, Message - +from pyrogram.types import ReplyParameters @userge.on_cmd("poll", about={ 'header': "Create Poll of Suggestion to get opinion", @@ -35,7 +35,7 @@ async def create_poll(msg: Message): question=query, options=options, is_anonymous=anonymous, - reply_to_message_id=msg_id) + reply_parameters=ReplyParameters(message_id=msg_id)) else: query = "Do you agree with that Suggestion..?" await userge.send_poll( diff --git a/plugins/fun/quote/__main__.py b/plugins/fun/quote/__main__.py index d3d9bcf62..6d0702953 100644 --- a/plugins/fun/quote/__main__.py +++ b/plugins/fun/quote/__main__.py @@ -11,6 +11,7 @@ import asyncio from pyrogram.errors.exceptions.bad_request_400 import YouBlockedUser +from pyrogram.types import ReplyParameters from userge import userge, Message @@ -42,4 +43,4 @@ async def quotecmd(message: Message): message_id = replied.id if replied else None await userge.send_sticker(chat_id=message.chat.id, sticker=quote.sticker.file_id, - reply_to_message_id=message_id) + reply_parameters=ReplyParameters(message_id=message_id)) diff --git a/plugins/fun/rgb_sticklet/__main__.py b/plugins/fun/rgb_sticklet/__main__.py index 8d030f0d1..12fb75007 100644 --- a/plugins/fun/rgb_sticklet/__main__.py +++ b/plugins/fun/rgb_sticklet/__main__.py @@ -13,6 +13,7 @@ import textwrap from PIL import Image, ImageDraw, ImageFont +from pyrogram.types import ReplyParameters from userge import userge, Message, get_collection @@ -101,7 +102,7 @@ async def sticklet(message: Message): image.save(image_name, "WebP") await message.client.send_sticker( - chat_id=message.chat.id, sticker=image_name, reply_to_message_id=reply_to) + chat_id=message.chat.id, sticker=image_name, reply_parameters=ReplyParameters(message_id=reply_to)) # cleanup try: diff --git a/plugins/fun/transform/__main__.py b/plugins/fun/transform/__main__.py index 48f5b5527..f9143c0fa 100644 --- a/plugins/fun/transform/__main__.py +++ b/plugins/fun/transform/__main__.py @@ -13,7 +13,7 @@ import os from PIL import Image, ImageOps - +from pyrogram.types import ReplyParameters from userge import userge, Message, config from userge.utils import take_screen_shot, runcmd @@ -77,7 +77,7 @@ async def ghost_invert(message: Message): await message.client.send_sticker( message.chat.id, sticker=Converted, - reply_to_message_id=replied.id) + reply_parameters=ReplyParameters(message_id=replied.id)) await message.delete() for files in (dls_loc, ghost_file, Converted): if files and os.path.exists(files): @@ -139,7 +139,7 @@ async def mirror_flip(message: Message): await message.client.send_sticker( message.chat.id, sticker=Converted, - reply_to_message_id=replied.id) + reply_parameters=ReplyParameters(message_id=replied.id)) await message.delete() for files in (dls_loc, mirror_flip_file, Converted): if files and os.path.exists(files): @@ -208,7 +208,7 @@ async def rotate_(message: Message): await message.client.send_sticker( message.chat.id, sticker=Converted, - reply_to_message_id=replied.id) + reply_parameters=ReplyParameters(message_id=replied.id)) await message.delete() for files in (dls_loc, rotate_file, Converted): if files and os.path.exists(files): diff --git a/plugins/fun/tweet/__main__.py b/plugins/fun/tweet/__main__.py index 6d7e23308..0eaf87e37 100644 --- a/plugins/fun/tweet/__main__.py +++ b/plugins/fun/tweet/__main__.py @@ -16,7 +16,7 @@ from PIL import Image from emoji import get_emoji_regexp from validators.url import url - +from pyrogram.types import ReplyParameters from userge import userge, config, Message CONVERTED_IMG = config.Dynamic.DOWN_PATH + "img.png" @@ -136,6 +136,6 @@ async def _tweets(msg: Message, text: str, username: str = '', type_: str = "twe msg_id = msg.reply_to_message.id if msg.reply_to_message else None await msg.client.send_photo(chat_id=msg.chat.id, photo=CONVERTED_IMG, - reply_to_message_id=msg_id) + reply_parameters=ReplyParameters(message_id=msg_id)) os.remove(tmp_file) os.remove(CONVERTED_IMG) diff --git a/plugins/misc/deezloader/__main__.py b/plugins/misc/deezloader/__main__.py index ef1d19d39..a37de1a1f 100644 --- a/plugins/misc/deezloader/__main__.py +++ b/plugins/misc/deezloader/__main__.py @@ -15,7 +15,7 @@ import deezloader # pylint: disable=W0406 from deezloader.exceptions import NoDataApi - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message, pool from . import ARL_TOKEN from ..upload import doc_upload, audio_upload @@ -51,7 +51,7 @@ async def deezload(message: Message): os.makedirs(TEMP_PATH) await message.edit("Checking your Token.") if ARL_TOKEN is None: - await message.edit(ARL_HELP, disable_web_page_preview=True) + await message.edit(ARL_HELP, link_preview_options=LinkPreviewOptions(is_disabled=True)) return try: loader = deezloader.Login(ARL_TOKEN) diff --git a/plugins/misc/download/downloader.py b/plugins/misc/download/downloader.py index 05e74fa6f..70853c6b4 100644 --- a/plugins/misc/download/downloader.py +++ b/plugins/misc/download/downloader.py @@ -18,7 +18,7 @@ from urllib.parse import unquote_plus from pySmartDL import SmartDL -from pyrogram.types import Message as PyroMessage +from pyrogram.types import Message as PyroMessage, LinkPreviewOptions from pyrogram import enums from userge import Message, config @@ -84,7 +84,7 @@ async def url_download(message: Message, url: str) -> Tuple[str, int]: downloader.start(blocking=False) with message.cancel_callback(downloader.stop): while not downloader.isFinished(): - total_length = downloader.filesize if downloader.filesize else 0 + total_length = downloader.filesize or 0 downloaded = downloader.get_dl_size() percentage = downloader.get_progress() * 100 speed = downloader.get_speed(human=True) @@ -112,7 +112,7 @@ async def url_download(message: Message, url: str) -> Tuple[str, int]: humanbytes(total_length), speed, estimated_total_time) - await message.edit(progress_str, disable_web_page_preview=True) + await message.edit(progress_str, link_preview_options=LinkPreviewOptions(is_disabled=True)) await asyncio.sleep(config.Dynamic.EDIT_SLEEP_TIMEOUT) if message.process_is_canceled: raise ProcessCanceled diff --git a/plugins/misc/ff_mpeg/__main__.py b/plugins/misc/ff_mpeg/__main__.py index 923b8bbca..10d7e12fe 100644 --- a/plugins/misc/ff_mpeg/__main__.py +++ b/plugins/misc/ff_mpeg/__main__.py @@ -24,6 +24,7 @@ from userge import userge, Message, config from userge.utils import humanbytes, is_url from ..download import tg_download, url_download +from pyrogram.types import ReplyParameters FF_MPEG_DOWN_LOAD_MEDIA_PATH = Path(f"{config.Dynamic.DOWN_PATH.rstrip('/')}/userge.media.ffmpeg") @@ -138,7 +139,7 @@ async def encode_x256(message: Message): await asyncio.gather( message.delete(), message.client.send_video( - chat_id=message.chat.id, reply_to_message_id=message_id, + chat_id=message.chat.id, reply_parameters=ReplyParameters(message_id=message_id), video=video_file, caption=caption ) ) @@ -190,7 +191,7 @@ async def video_to_audio(message: Message): await asyncio.gather( message.delete(), message.client.send_audio( - chat_id=message.chat.id, reply_to_message_id=message_id, + chat_id=message.chat.id, reply_parameters=ReplyParameters(message_id=message_id), audio=f"{FF_MPEG_DOWN_LOAD_MEDIA_PATH}/{audio_file}", caption=caption ) @@ -247,7 +248,7 @@ async def scale_video(message: Message): await asyncio.gather( message.delete(), message.client.send_video( - chat_id=message.chat.id, reply_to_message_id=message_id, + chat_id=message.chat.id, reply_parameters=ReplyParameters(message_id=message_id), video=video_file, caption=caption ) ) @@ -291,7 +292,7 @@ async def video_thumbnail(message: Message): message.delete(), message.client.send_photo( chat_id=message.chat.id, - reply_to_message_id=message_id, + reply_parameters=ReplyParameters(message_id=message_id), photo=thumbnail_file, caption=replied.caption if hasattr(replied, 'media') else file_name ) @@ -340,7 +341,7 @@ async def video_trim(message: Message): dl_loc, file_name = data FF_MPEG_DOWN_LOAD_MEDIA_PATH.mkdir(parents=True, exist_ok=True) await message.edit("`Trimming media...`") - end_time = match.group(1) if not match.group(2) else match.group(2) + end_time = match.group(2) if match.group(2) else match.group(1) start_time = match.group(1) if match.group(1) and match.group(1) != end_time else "00:00:00" video_file = f"{FF_MPEG_DOWN_LOAD_MEDIA_PATH}/trimmed_{file_name}" start = datetime.now() @@ -358,7 +359,7 @@ async def video_trim(message: Message): await asyncio.gather( message.delete(), message.client.send_video( - chat_id=message.chat.id, reply_to_message_id=message_id, + chat_id=message.chat.id, reply_parameters=ReplyParameters(message_id=message_id), video=video_file, caption=caption ) ) @@ -418,7 +419,7 @@ async def video_compress(message: Message): message.delete(), message.client.send_video( chat_id=message.chat.id, - reply_to_message_id=message_id, + reply_parameters=ReplyParameters(message_id=message_id), video=video_file, caption=caption ) ) diff --git a/plugins/misc/gdrive/__main__.py b/plugins/misc/gdrive/__main__.py index 7f3ee9231..e3bc6b713 100644 --- a/plugins/misc/gdrive/__main__.py +++ b/plugins/misc/gdrive/__main__.py @@ -21,7 +21,7 @@ from mimetypes import guess_type from typing import Optional from urllib.parse import quote, urlparse, parse_qs - +from pyrogram.types import LinkPreviewOptions from googleapiclient.discovery import build from googleapiclient.errors import HttpError from googleapiclient.http import MediaFileUpload, MediaIoBaseDownload @@ -621,7 +621,7 @@ async def setup(self) -> None: reply_string += "send back " reply_string += ".gconf [auth_code or url]" await self._message.edit( - text=reply_string, disable_web_page_preview=True) + text=reply_string, link_preview_options=LinkPreviewOptions(is_disabled=True)) async def confirm_setup(self) -> None: """ Finalize GDrive setup """ @@ -678,7 +678,7 @@ async def share(self) -> None: await self._message.err(h_e._get_reason()) # pylint: disable=protected-access return await self._message.edit(f"**Shareable Links**\n\n{out}", - disable_web_page_preview=True, log=__name__) + link_preview_options=LinkPreviewOptions(is_disabled=True), log=__name__) @creds_dec async def search(self) -> None: @@ -692,7 +692,7 @@ async def search(self) -> None: await self._message.err(h_e._get_reason()) # pylint: disable=protected-access return await self._message.edit_or_send_as_file( - out, disable_web_page_preview=True, + out, link_preview_options=LinkPreviewOptions(is_disabled=True), caption=f"search results for `{self._message.filtered_input_str}`") @creds_dec @@ -711,7 +711,7 @@ async def make_folder(self) -> None: await self._message.err(h_e._get_reason()) # pylint: disable=protected-access return await self._message.edit(f"**Folder Created Successfully**\n\n{out}", - disable_web_page_preview=True, log=__name__) + link_preview_options=LinkPreviewOptions(is_disabled=True), log=__name__) @creds_dec async def list_folder(self) -> None: @@ -732,7 +732,7 @@ async def list_folder(self) -> None: await self._message.err(h_e._get_reason()) # pylint: disable=protected-access return await self._message.edit_or_send_as_file( - out, disable_web_page_preview=True, caption=f"list results for `{file_id}`") + out, link_preview_options=LinkPreviewOptions(is_disabled=True), caption=f"list results for `{file_id}`") @creds_dec async def upload(self) -> None: @@ -758,7 +758,7 @@ async def upload(self) -> None: except Exception as e_e: await self._message.err(str(e_e)) return - file_path = dl_loc if dl_loc else self._message.input_str + file_path = dl_loc or self._message.input_str if not os.path.exists(file_path): await self._message.err("invalid file path provided?") return @@ -787,7 +787,7 @@ async def upload(self) -> None: out = self._output else: out = "`failed to upload.. check logs?`" - await self._message.edit(out, disable_web_page_preview=True, log=__name__) + await self._message.edit(out, link_preview_options=LinkPreviewOptions(is_disabled=True), log=__name__) @creds_dec async def download(self) -> None: @@ -811,7 +811,7 @@ async def download(self) -> None: out = self._output else: out = "`failed to download.. check logs?`" - await self._message.edit(out, disable_web_page_preview=True, log=__name__) + await self._message.edit(out, link_preview_options=LinkPreviewOptions(is_disabled=True), log=__name__) @creds_dec async def copy(self) -> None: @@ -838,7 +838,7 @@ async def copy(self) -> None: out = self._output else: out = "`failed to copy.. check logs?`" - await self._message.edit(out, disable_web_page_preview=True, log=__name__) + await self._message.edit(out, link_preview_options=LinkPreviewOptions(is_disabled=True), log=__name__) @creds_dec async def move(self) -> None: @@ -897,7 +897,7 @@ async def get(self) -> None: return out = f"**I Found these Details for** `{file_id}`\n\n{meta_data}" await self._message.edit_or_send_as_file( - out, disable_web_page_preview=True, + out, link_preview_options=LinkPreviewOptions(is_disabled=True), caption=f"metadata for `{file_id}`") @creds_dec @@ -913,7 +913,7 @@ async def get_perms(self) -> None: return out = f"**I Found these Permissions for** `{file_id}`\n\n{out}" await self._message.edit_or_send_as_file( - out, disable_web_page_preview=True, + out, link_preview_options=LinkPreviewOptions(is_disabled=True), caption=f"view perm results for `{file_id}`") @creds_dec @@ -928,7 +928,7 @@ async def set_perms(self) -> None: await self._message.err(h_e._get_reason()) # pylint: disable=protected-access else: out = f"**Set Permissions successfully for** `{file_id}`\n\n{link}" - await self._message.edit(out, disable_web_page_preview=True) + await self._message.edit(out, link_preview_options=LinkPreviewOptions(is_disabled=True)) @creds_dec async def del_perms(self) -> None: @@ -943,7 +943,7 @@ async def del_perms(self) -> None: return out = f"**Removed These Permissions successfully from** `{file_id}`\n\n{out}" await self._message.edit_or_send_as_file( - out, disable_web_page_preview=True, + out, link_preview_options=LinkPreviewOptions(is_disabled=True), caption=f"removed perm results for `{file_id}`") @@ -960,7 +960,7 @@ async def gsetup_(message: Message): else: await message.edit( "`G_DRIVE_CLIENT_ID` and `G_DRIVE_CLIENT_SECRET` not found!\n" - f"[Read this]({link}) to know more.", disable_web_page_preview=True) + f"[Read this]({link}) to know more.", link_preview_options=LinkPreviewOptions(is_disabled=True)) @userge.on_cmd("gconf", about={ diff --git a/plugins/misc/parser/__main__.py b/plugins/misc/parser/__main__.py index f771baa58..785955a1f 100644 --- a/plugins/misc/parser/__main__.py +++ b/plugins/misc/parser/__main__.py @@ -18,7 +18,7 @@ import requests from bs4 import BeautifulSoup - +from pyrogram.types import LinkPreviewOptions from userge import Message, userge, pool from .. import parser @@ -148,7 +148,7 @@ async def gdtot(message: Message): f'Date: {info[1].text.strip()}\n' f'\nGDrive-URL:\n{gdrive_url}' ) - await message.edit(out, disable_web_page_preview=True) + await message.edit(out, link_preview_options=LinkPreviewOptions(is_disabled=True)) except Exception: await message.err("Unable To parse Link") @@ -177,4 +177,4 @@ async def appdrive(message: Message): 'Drive_Link: ' f'{res.get("gdrive_link", "Something Went Wrong")}' ) - await message.edit(output, disable_web_page_preview=True) + await message.edit(output, link_preview_options=LinkPreviewOptions(is_disabled=True)) diff --git a/plugins/misc/rss_feed/__main__.py b/plugins/misc/rss_feed/__main__.py index 143046ce0..688c6c987 100644 --- a/plugins/misc/rss_feed/__main__.py +++ b/plugins/misc/rss_feed/__main__.py @@ -20,7 +20,7 @@ from pyrogram.errors import ( ChatWriteForbidden, ChannelPrivate, UserNotParticipant, ChatIdInvalid ) -from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton +from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, LinkPreviewOptions from userge import userge, Message, config, logging, get_collection, pool from userge.utils.exceptions import UsergeBotNotFound @@ -108,7 +108,7 @@ async def send_new_post(entries): else: args = { 'text': out_str, - 'disable_web_page_preview': True, + 'link_preview_options': LinkPreviewOptions(is_disabled=True), 'parse_mode': enums.ParseMode.MARKDOWN, 'reply_markup': markup if userge.has_bot else None } diff --git a/plugins/misc/telegraph/__main__.py b/plugins/misc/telegraph/__main__.py index ab5ef7d9a..d8497c3fc 100644 --- a/plugins/misc/telegraph/__main__.py +++ b/plugins/misc/telegraph/__main__.py @@ -13,7 +13,7 @@ from aiofiles import os from html_telegraph_poster import TelegraphPoster from telegraph import upload_file - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message, config, pool from userge.utils import progress @@ -56,9 +56,7 @@ async def telegraph_(message: Message): ) async with aiofiles.open(dl_loc, "r") as jv: text = await jv.read() - header = message.input_str - if not header: - header = "Pasted content by @theuserge" + header = message.input_str or "Pasted content by @theuserge" await os.remove(dl_loc) else: content = message.reply_to_message.text.html @@ -71,7 +69,7 @@ async def telegraph_(message: Message): header = "Pasted content by @theuserge" t_url = await pool.run_in_thread(post_to_telegraph)(header, text.replace("\n", "
")) jv_text = f"**[Here Your Telegra.ph Link!]({t_url})**" - await message.edit(text=jv_text, disable_web_page_preview=True) + await message.edit(text=jv_text, link_preview_options=LinkPreviewOptions(is_disabled=True)) return dl_loc = await message.client.download_media( message=message.reply_to_message, diff --git a/plugins/misc/thumbnail/__main__.py b/plugins/misc/thumbnail/__main__.py index 9b34964be..8408fb8b1 100644 --- a/plugins/misc/thumbnail/__main__.py +++ b/plugins/misc/thumbnail/__main__.py @@ -13,7 +13,7 @@ from datetime import datetime import aiofiles - +from pyrogram.types import ReplyParameters from userge import userge, Message, get_collection from userge.utils import progress from .. import thumbnail @@ -81,7 +81,7 @@ async def get_thumb_nail(message: Message): msg = await message.client.send_document(chat_id=message.chat.id, document=thumbnail.Dynamic.THUMB_PATH, disable_notification=True, - reply_to_message_id=message.id) + reply_parameters=ReplyParameters(message_id=message.id)) await CHANNEL.fwd_msg(msg) await message.delete() else: diff --git a/plugins/misc/upload/uploader.py b/plugins/misc/upload/uploader.py index 33a54b449..ecf9ca964 100644 --- a/plugins/misc/upload/uploader.py +++ b/plugins/misc/upload/uploader.py @@ -88,7 +88,7 @@ async def doc_upload(message: Message, path, del_path: bool = False, thumb=thumb, caption=path.name, parse_mode=enums.ParseMode.HTML, - force_document=True, + disable_content_type_detection=True, disable_notification=True, progress=progress, progress_args=(message, f"uploading {extra}", str_path) diff --git a/plugins/misc/zippyshare/__main__.py b/plugins/misc/zippyshare/__main__.py index 09b5c9660..9f03baa56 100644 --- a/plugins/misc/zippyshare/__main__.py +++ b/plugins/misc/zippyshare/__main__.py @@ -15,7 +15,7 @@ import re import requests - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message, pool @@ -32,7 +32,7 @@ async def zippyshare(message: Message): await message.edit(f"**Original** : {url}\n**FileName** : `{fname}`\n" f"**DirectLink** : {direct_url}\n\n" "**[HINT]** : use `.download [directLink]`", - disable_web_page_preview=True) + link_preview_options=LinkPreviewOptions(is_disabled=True)) except Exception as z_e: # pylint: disable=broad-except await message.edit(f"`{z_e}`") diff --git a/plugins/tools/alive/__main__.py b/plugins/tools/alive/__main__.py index 228122e73..289ff9298 100644 --- a/plugins/tools/alive/__main__.py +++ b/plugins/tools/alive/__main__.py @@ -18,7 +18,7 @@ ChatSendMediaForbidden, Forbidden, SlowmodeWait, PeerIdInvalid, FileIdInvalid, FileReferenceEmpty, BadRequest, ChannelInvalid, MediaEmpty ) -from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton +from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, LinkPreviewOptions from userge import userge, Message, pool, config, versions as ver, logging from userge.utils import get_file_id_of_media, get_custom_import_re @@ -51,7 +51,7 @@ async def _alive(message: Message): alive_text, markup = await _get_text_and_markup(message) if _MSG_ID == "text_format": - return await message.edit(alive_text, disable_web_page_preview=True, reply_markup=markup) + return await message.edit(alive_text, link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=markup) await message.delete() try: await _send_alive(message, alive_text, markup) @@ -136,7 +136,7 @@ async def _send_alive(message: Message, except (ChatSendMediaForbidden, Forbidden): await message.client.send_message(chat_id=message.chat.id, text=text, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=should_mark) diff --git a/plugins/utils/admins/__main__.py b/plugins/utils/admins/__main__.py index 474590d3b..3eee48d53 100644 --- a/plugins/utils/admins/__main__.py +++ b/plugins/utils/admins/__main__.py @@ -10,6 +10,7 @@ from userge import userge, Message from pyrogram import enums +from pyrogram.types import LinkPreviewOptions @userge.on_cmd("admins", about={ @@ -57,4 +58,4 @@ async def mentionadmins(message: Message): mentions += " " + str(e) + "\n" await message.delete() await message.client.send_message( - chat_id=message.chat.id, text=mentions, disable_web_page_preview=True) + chat_id=message.chat.id, text=mentions, link_preview_options=LinkPreviewOptions(is_disabled=True)) diff --git a/plugins/utils/app/__main__.py b/plugins/utils/app/__main__.py index cff479c44..9521d1459 100644 --- a/plugins/utils/app/__main__.py +++ b/plugins/utils/app/__main__.py @@ -14,7 +14,7 @@ import aiohttp import bs4 - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message @@ -57,7 +57,9 @@ async def app(message: Message): app_details += f"`Developer :` [{app_dev}]({app_dev_link})\n" app_details += f"`Rating :` {app_rating} ⭐️\n" app_details += f"`Features :` [View in Play Store]({app_link})" - await message.edit(app_details, disable_web_page_preview=False) + await message.edit(app_details, link_preview_options=LinkPreviewOptions( + is_disabled=False + )) except IndexError: await message.edit("No result found in search. Please enter **Valid app name**") except Exception as err: diff --git a/plugins/utils/bitly/__main__.py b/plugins/utils/bitly/__main__.py index 09fa64337..7b75fb72e 100644 --- a/plugins/utils/bitly/__main__.py +++ b/plugins/utils/bitly/__main__.py @@ -12,7 +12,7 @@ import gdshortener from pyrogram.errors import YouBlockedUser - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message from userge.utils.exceptions import StopConversation @@ -37,7 +37,7 @@ async def bitly(msg: Message): shorten_url = ( await conv.get_response(mark_read=True) ).text.split('\n', maxsplit=1)[-1] - await msg.edit(f"`{shorten_url}`", disable_web_page_preview=True) + await msg.edit(f"`{shorten_url}`", link_preview_options=LinkPreviewOptions(is_disabled=True)) except StopConversation: await msg.err("bot is down") @@ -58,7 +58,7 @@ async def is_gd(msg: Message): else: await msg.edit( f"**Shortened URL:**\n`{s_url}`\n\n**Stats:** `{stats}`", - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) @@ -78,5 +78,5 @@ async def stats_is_gd(msg: Message): else: await msg.edit( f"**URL:** `{original_url}`", - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) diff --git a/plugins/utils/botpm/__main__.py b/plugins/utils/botpm/__main__.py index 40e7f854c..274c030c1 100644 --- a/plugins/utils/botpm/__main__.py +++ b/plugins/utils/botpm/__main__.py @@ -19,7 +19,12 @@ import wget from pyrogram.errors import UserIsBlocked, FloodWait from pyrogram.types import ( - Message as PyroMessage, InlineKeyboardMarkup, InlineKeyboardButton, CallbackQuery + Message as PyroMessage, + InlineKeyboardMarkup, + InlineKeyboardButton, + CallbackQuery, + LinkPreviewOptions, + ReplyParameters ) from userge import userge, Message, config, filters, get_collection, pool @@ -295,7 +300,7 @@ async def cq_handler(_, cq: CallbackQuery): mp.inline_keyboard.insert(0, btn) await cq.edit_message_text( SETTINGS_TEXT, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=mp ) elif cq.data == "en_dis_bot_pm": @@ -314,7 +319,7 @@ async def cq_handler(_, cq: CallbackQuery): mp = InlineKeyboardMarkup([[InlineKeyboardButton("Back", callback_data="stngs")]]) await cq.edit_message_text( HELP_TEXT, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=mp ) elif cq.data == "stats": @@ -335,7 +340,7 @@ async def cq_handler(_, cq: CallbackQuery): """ await cq.edit_message_text( out_str, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=mp ) elif cq.data == "broadcast": @@ -364,21 +369,21 @@ async def cq_handler(_, cq: CallbackQuery): ) await cq.edit_message_text( MISC_TEXT, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=mp ) elif cq.data == "setmedia": mp = InlineKeyboardMarkup([[InlineKeyboardButton("Back", callback_data="misc")]]) await cq.edit_message_text( SET_MEDIA_TEXT, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=mp ) elif cq.data == "settext": mp = InlineKeyboardMarkup([[InlineKeyboardButton("Back", callback_data="misc")]]) await cq.edit_message_text( SET_CUSTOM_TEXT, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=mp ) elif cq.data == "startcq": @@ -386,7 +391,7 @@ async def cq_handler(_, cq: CallbackQuery): mp = InlineKeyboardMarkup([[InlineKeyboardButton("Settings", callback_data="stngs")]]) await cq.edit_message_text( START_TEXT.format_map(SafeDict(**user_dict)), - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=mp ) @@ -394,7 +399,7 @@ async def send_start_text( msg: PyroMessage, text: str, path: str, markup: Optional[InlineKeyboardMarkup] = None ): if not path: - return await msg.reply(text, disable_web_page_preview=True, reply_markup=markup) + return await msg.reply(text, link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=markup) if path.lower().endswith((".jpg", ".jpeg", ".png", ".bmp")): await bot.send_photo( chat_id=msg.chat.id, @@ -441,7 +446,7 @@ async def handle_incoming_message(msg: PyroMessage): m = await msg.forward(userge_id) if msg.audio: await bot.send_message(userge_id, f"{msg.from_user.mention} sent you a audio file.", - reply_to_message_id=m.id) + reply_parameters=ReplyParameters(message_id=m.id)) m.forward_sender_name = msg.from_user.first_name if m.forward_from or m.forward_sender_name or m.forward_date: id_ = 0 @@ -482,7 +487,7 @@ async def handle_reply(msg: PyroMessage): reply_id = _U_ID_F_M_ID.get(replied.id) try: if msg.text: - await bot.send_message(reply_id, msg.text, disable_web_page_preview=True) + await bot.send_message(reply_id, msg.text, link_preview_options=LinkPreviewOptions(is_disabled=True)) else: await msg.copy(reply_id) except UserIsBlocked: diff --git a/plugins/utils/cbutton/__main__.py b/plugins/utils/cbutton/__main__.py index 73e07d0f7..32449209d 100644 --- a/plugins/utils/cbutton/__main__.py +++ b/plugins/utils/cbutton/__main__.py @@ -11,7 +11,7 @@ # By @Krishna_Singhal from pyrogram.errors import BadRequest, ChannelInvalid, UserIsBot - +from pyrogram.types import ReplyParameters from userge import userge, config, Message from userge.utils import parse_buttons as pb, get_file_id_of_media @@ -69,13 +69,13 @@ async def create_button(msg: Message): chat_id=msg.chat.id, file_id=file_id, caption=text, - reply_to_message_id=message_id, + reply_parameters=ReplyParameters(message_id=message_id), reply_markup=markup) else: await client.send_message( chat_id=msg.chat.id, text=text, - reply_to_message_id=message_id, + reply_parameters=ReplyParameters(message_id=message_id), reply_markup=markup) except UserIsBot: await msg.err("oops, your Bot is not here to send Msg!") diff --git a/plugins/utils/chat/__main__.py b/plugins/utils/chat/__main__.py index c038d4ca5..b8b01bd6c 100644 --- a/plugins/utils/chat/__main__.py +++ b/plugins/utils/chat/__main__.py @@ -23,7 +23,7 @@ UsernameNotOccupied, PeerIdInvalid) from pyrogram import enums - +from pyrogram.types import LinkPreviewOptions, ReplyParameters from userge import userge, config, Message LOG = userge.getLogger(__name__) @@ -96,7 +96,7 @@ async def invite_link(message: Message): await message.edit( "**Invite link Generated Successfully for\n" f"{chat_name}**\n[Click here to join]({link})", - disable_web_page_preview=True) + link_preview_options=LinkPreviewOptions(is_disabled=True)) else: await message.err("Requirements doesn't met...") except Exception as e_f: @@ -138,7 +138,7 @@ async def tagall_(message: Message): text += f"[{f_name}](tg://user?id={u_id}) " except Exception as e: text += " " + str(e) - await message.client.send_message(c_id, text, reply_to_message_id=message_id) + await message.client.send_message(c_id, text, reply_parameters=ReplyParameters(message_id=message_id)) await message.edit("```\nTagged recent Members Successfully...```", del_in=3) @@ -163,7 +163,7 @@ async def stagall_(message: Message): text += mention_html(members.user.id, "\u200b") await message.delete() await userge.send_message( - chat_id, text, reply_to_message_id=message_id) + chat_id, text, reply_parameters=ReplyParameters(message_id=message_id)) @userge.on_cmd("tadmins", about={ @@ -201,7 +201,7 @@ async def tadmins_(message: Message): text += f"[{f_name}](tg://user?id={u_id}) " except Exception as e: text += " " + str(e) - await message.client.send_message(c_id, text, reply_to_message_id=message_id) + await message.client.send_message(c_id, text, reply_parameters=ReplyParameters(message_id=message_id)) await message.edit("```\nAdmins tagged Successfully...```", del_in=3) diff --git a/plugins/utils/cnf/__main__.py b/plugins/utils/cnf/__main__.py index 52215a8a3..f4f5a90a2 100644 --- a/plugins/utils/cnf/__main__.py +++ b/plugins/utils/cnf/__main__.py @@ -13,7 +13,7 @@ import aiohttp from bs4 import BeautifulSoup - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message @@ -64,7 +64,9 @@ async def cnf(message: Message): payload += f"{os}\n`{command}`\n\n" - await message.edit(payload, disable_web_page_preview=False) + await message.edit(payload, link_preview_options=LinkPreviewOptions( + is_disabled=False + )) except IndexError: await message.edit("Command Not Found") except Exception as err: diff --git a/plugins/utils/country/__main__.py b/plugins/utils/country/__main__.py index c6671d7cf..865d77a54 100644 --- a/plugins/utils/country/__main__.py +++ b/plugins/utils/country/__main__.py @@ -11,7 +11,7 @@ # Author: Fayas (https://github.com/FayasNoushad) (@FayasNoushad) from countryinfo import CountryInfo - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message PREVIEW = False # False for instant view @@ -43,4 +43,4 @@ async def countryinfo(update: Message): try: await update.edit_text(text=info, disable_web_page_preview=PREVIEW) except Exception as error: - await update.edit_text(text=error, disable_web_page_preview=True) + await update.edit_text(text=error, link_preview_options=LinkPreviewOptions(is_disabled=True)) diff --git a/plugins/utils/currency/__main__.py b/plugins/utils/currency/__main__.py index d737eab85..afcb5e8aa 100644 --- a/plugins/utils/currency/__main__.py +++ b/plugins/utils/currency/__main__.py @@ -14,7 +14,7 @@ from emoji import get_emoji_regexp from pyrogram import enums - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message from .. import currency @@ -35,7 +35,7 @@ async def cur_conv(message: Message): "Oops!!get the API from " "HERE " "& add it to Heroku config vars (CURRENCY_API)", - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML, del_in=0) return diff --git a/plugins/utils/filters/__main__.py b/plugins/utils/filters/__main__.py index b2234db44..0a1a538dc 100644 --- a/plugins/utils/filters/__main__.py +++ b/plugins/utils/filters/__main__.py @@ -10,7 +10,7 @@ import asyncio from typing import Dict - +from pyrogram.types import ReplyParameters from userge import userge, Message, filters, get_collection FILTERS_COLLECTION = get_collection("filters") @@ -48,7 +48,7 @@ def _get_filters_for_chat(chat_id: int) -> str: for name, mid in FILTERS_DATA[chat_id].items(): if not isinstance(mid, int): continue - out += " 🔍 `{}` , {}\n".format(name, CHANNEL.get_link(mid)) + out += f" 🔍 `{name}` , {CHANNEL.get_link(mid)}\n" return out @@ -116,7 +116,7 @@ async def delete_filters(message: Message) -> None: out = "`Wrong syntax`\nNo arguements" elif await FILTERS_COLLECTION.find_one_and_delete( {'chat_id': message.chat.id, 'name': filter_}): - out = "`Successfully deleted filter:` **{}**".format(filter_) + out = f"`Successfully deleted filter:` **{filter_}**" _filter_deleter(message.chat.id, filter_) else: out = "`Couldn't find filter:` **{}**".format(filter_) @@ -193,6 +193,6 @@ async def chat_filter(message: Message) -> None: message_id=FILTERS_DATA[message.chat.id][name], chat_id=message.chat.id, user_id=message.from_user.id, - reply_to_message_id=message.id) + reply_parameters=ReplyParameters(message_id=message.id)) except RuntimeError: pass diff --git a/plugins/utils/google/__main__.py b/plugins/utils/google/__main__.py index 8745e5cf8..a16b0bbd7 100644 --- a/plugins/utils/google/__main__.py +++ b/plugins/utils/google/__main__.py @@ -9,7 +9,7 @@ # All rights reserved. from search_engine_parser import GoogleSearch - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message GoogleSearch.parse_soup = lambda __, _: _.find_all("div", class_="Gx5Zad fP1Qef xpd EtOod pkphOe") @@ -51,4 +51,4 @@ async def gsearch(message: Message): break output = f"**Google Search:**\n`{query}`\n\n**Results:**\n{output}" await message.edit_or_send_as_file(text=output, caption=query, - disable_web_page_preview=True) + link_preview_options=LinkPreviewOptions(is_disabled=True)) diff --git a/plugins/utils/google_img/__main__.py b/plugins/utils/google_img/__main__.py index 4d645ff2f..faa9acbb2 100644 --- a/plugins/utils/google_img/__main__.py +++ b/plugins/utils/google_img/__main__.py @@ -15,7 +15,7 @@ from PIL import Image from google_images_search import GoogleImagesSearch as GIS from pyrogram import enums -from pyrogram.types import InputMediaPhoto +from pyrogram.types import InputMediaPhoto, LinkPreviewOptions from userge import userge, Message from .. import google_img as gimg @@ -47,7 +47,7 @@ 'examples': "{tr}gimg Dogs"}) async def google_img(message: Message): if (gimg.GCS_API_KEY and gimg.GCS_IMAGE_E_ID) is None: - await message.edit(REQ_ERR, disable_web_page_preview=True) + await message.edit(REQ_ERR, link_preview_options=LinkPreviewOptions(is_disabled=True)) return if os.path.exists(PATH): shutil.rmtree(PATH, ignore_errors=True) diff --git a/plugins/utils/google_reverse_search/__main__.py b/plugins/utils/google_reverse_search/__main__.py index 0e4bc2f9f..659696b73 100644 --- a/plugins/utils/google_reverse_search/__main__.py +++ b/plugins/utils/google_reverse_search/__main__.py @@ -16,7 +16,7 @@ from bs4 import BeautifulSoup from pyrogram import enums - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message, config from userge.utils import take_screen_shot @@ -85,4 +85,4 @@ async def google_rs(message: Message): More Info: Open this Link Time Taken: {ms} seconds""" - await message.edit(out_str, parse_mode=enums.ParseMode.HTML, disable_web_page_preview=True) + await message.edit(out_str, parse_mode=enums.ParseMode.HTML, link_preview_options=LinkPreviewOptions(is_disabled=True)) diff --git a/plugins/utils/header/__main__.py b/plugins/utils/header/__main__.py index fa675b645..ffb0e65cd 100644 --- a/plugins/utils/header/__main__.py +++ b/plugins/utils/header/__main__.py @@ -9,7 +9,7 @@ # All rights reserved. import requests - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message @@ -43,4 +43,4 @@ async def req_head(message: Message): for k, v in cd.headers.items(): output += f" 🏷 __{k.lower()}__ : `{v}`\n\n" await message.edit_or_send_as_file(text=output, caption=link, - disable_web_page_preview=True) + link_preview_options=LinkPreviewOptions(is_disabled=True)) diff --git a/plugins/utils/imdb/__main__.py b/plugins/utils/imdb/__main__.py index 4d343b323..ccb275413 100644 --- a/plugins/utils/imdb/__main__.py +++ b/plugins/utils/imdb/__main__.py @@ -20,7 +20,8 @@ InlineQueryResultArticle, InputTextMessageContent, InlineKeyboardButton, - InlineKeyboardMarkup + InlineKeyboardMarkup, + LinkPreviewOptions ) from pyrogram import enums @@ -42,7 +43,7 @@ async def _imdb(message: Message): if not (imdb.API_ONE_URL or imdb.API_TWO_URL): return await message.err( "First set [these two vars](https://t.me/UsergePlugins/127) before using imdb", - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) try: movie_name = message.input_str @@ -76,7 +77,7 @@ async def _imdb(message: Message): else: await message.edit( description, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML ) @@ -212,7 +213,9 @@ async def imdb_callback(_, c_q: CallbackQuery): ) await c_q.edit_message_text( text=description, - disable_web_page_preview=False, + link_preview_options=LinkPreviewOptions( + is_disabled=False + ), reply_markup=InlineKeyboardMarkup( [ [ @@ -261,7 +264,9 @@ async def inline_fn(_, inline_query: InlineQuery): input_message_content=InputTextMessageContent( message_text=message_text, parse_mode=enums.ParseMode.HTML, - disable_web_page_preview=False + link_preview_options=LinkPreviewOptions( + is_disabled=False + ) ), url=imdb_url, description=f" {description} | {stars}", diff --git a/plugins/utils/info/__main__.py b/plugins/utils/info/__main__.py index f4a53bed2..8c1ed8ee0 100644 --- a/plugins/utils/info/__main__.py +++ b/plugins/utils/info/__main__.py @@ -18,7 +18,7 @@ import spamwatch from UsergeAntiSpamApi import Client -from pyrogram.types import User +from pyrogram.types import User, LinkPreviewOptions from pyrogram import enums from userge import userge, Message, get_collection @@ -108,7 +108,7 @@ async def _info(msg: Message): user_info += f"\n **● Reason** : `{reduce_spam(user_gbanned['reason'] or None)}`" else: user_info += "\n**User Gbanned** : `False`" - await msg.edit_or_send_as_file(text=user_info, disable_web_page_preview=True) + await msg.edit_or_send_as_file(text=user_info, link_preview_options=LinkPreviewOptions(is_disabled=True)) def reduce_spam(text: Optional[str]) -> Optional[str]: diff --git a/plugins/utils/iplookup/__main__.py b/plugins/utils/iplookup/__main__.py index 973686e24..851406189 100644 --- a/plugins/utils/iplookup/__main__.py +++ b/plugins/utils/iplookup/__main__.py @@ -14,9 +14,9 @@ import aiohttp from pyrogram import enums +from pyrogram.types import LinkPreviewOptions from userge import userge, Message - @userge.on_cmd( "iplook", about={ 'header': "A IPLookUp Plugin", @@ -59,6 +59,6 @@ async def _ip_look_up(message: Message): f"**City:** `{city}`\n" f"**Location:** `{localisation}`\n" f"**Google Map:** {gmap_lock}"), - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.MARKDOWN ) diff --git a/plugins/utils/labstack/__main__.py b/plugins/utils/labstack/__main__.py index 22cdd7934..c57ab7127 100644 --- a/plugins/utils/labstack/__main__.py +++ b/plugins/utils/labstack/__main__.py @@ -21,7 +21,7 @@ import requests from pySmartDL import SmartDL - +from pyrogram.types import LinkPreviewOptions from userge import userge, config, Message from userge.utils import progress, humanbytes @@ -58,7 +58,7 @@ async def labstack(message: Message): if message.process_is_canceled: downloader.stop() raise Exception('Process Cancelled!') - total_length = downloader.filesize if downloader.filesize else 0 + total_length = downloader.filesize or 0 downloaded = downloader.get_dl_size() percentage = downloader.get_progress() * 100 speed = downloader.get_speed(human=True) @@ -89,7 +89,7 @@ async def labstack(message: Message): count += 1 if count >= 5: count = 0 - await message.try_to_edit(progress_str, disable_web_page_preview=True) + await message.try_to_edit(progress_str, link_preview_options=LinkPreviewOptions(is_disabled=True)) await asyncio.sleep(1) except Exception as d_e: await message.err(d_e) diff --git a/plugins/utils/lastfm/__main__.py b/plugins/utils/lastfm/__main__.py index 712f0ec9a..ca0da132c 100644 --- a/plugins/utils/lastfm/__main__.py +++ b/plugins/utils/lastfm/__main__.py @@ -20,7 +20,7 @@ import pylast import wget from pyrogram.errors import ChatWriteForbidden, ChannelPrivate, ChatIdInvalid - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message, config, pool, get_collection from userge.utils import time_formatter from .. import lastfm @@ -46,7 +46,7 @@ async def checker(msg: Message): "`This plugins needs environmental variables," " For more info see` " "[this post](https://t.me/UsergePlugins/123).", - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) return checker @@ -83,7 +83,7 @@ async def _lastfm(msg: Message): k = get_track_info(track) if not k: return await msg.err("Track Not found...") - await msg.edit(out + k, disable_web_page_preview=True) + await msg.edit(out + k, link_preview_options=LinkPreviewOptions(is_disabled=True)) @check_creds @@ -181,7 +181,7 @@ async def get_track(msg: Message): out = get_track_info(track) if not out: return await msg.err("Track not found...") - await msg.edit(out, disable_web_page_preview=True) + await msg.edit(out, link_preview_options=LinkPreviewOptions(is_disabled=True)) @check_creds @@ -223,15 +223,15 @@ async def lastfm_worker(): if userge.has_bot: try: await userge.bot.send_message( - chat_id, out, disable_web_page_preview=True + chat_id, out, link_preview_options=LinkPreviewOptions(is_disabled=True) ) except (ChatWriteForbidden, ChannelPrivate, ChatIdInvalid): await userge.send_message( - chat_id, out, disable_web_page_preview=True + chat_id, out, link_preview_options=LinkPreviewOptions(is_disabled=True) ) else: await userge.send_message( - chat_id, out, disable_web_page_preview=True + chat_id, out, link_preview_options=LinkPreviewOptions(is_disabled=True) ) NOW_PLAYING[0] = False # Should not update to DB ig ? @@ -258,7 +258,7 @@ def get_track_info(track: pylast.Track) -> Optional[str]: tags = " ".join([f'`{i}`' for i in _tags]) if len(_tags) > 0 else '`None`' out = f'''__LastFm's__ [{track.get_correction()}]({unquote(track.get_url())}) -__Duration:__ `{duration if duration else None}` +__Duration:__ `{duration or None}` __Is_Loved:__ `{bool(track.get_userloved())}` __Is_Streamable:__ `{bool(track.is_streamable())}` __Tags:__ {tags} @@ -336,10 +336,10 @@ async def get_loved(self) -> None: if self.msg.input_str and self.msg.input_str.isnumeric(): limit = int(self.msg.input_str) tracks = (self.get_user()).get_loved_tracks(limit=limit) - out = "" - for i, track in enumerate(tracks, start=1): - out += f"`{i}.` `{str(track[0])}` 💕\n" - if out: + if out := "".join( + f"`{i}.` `{str(track[0])}` 💕\n" + for i, track in enumerate(tracks, start=1) + ): return await self.msg.edit(out) await self.msg.err("No loved tracks found.") @@ -429,4 +429,4 @@ async def lastfm_compat_(message: Message): disart = ", ".join({comart[r] for r in range(min(len(comart), 5))}) compat = min((len(comart) * 100 / 40), 100) rep = f"{display} both listen to __{disart}__...\nMusic Compatibility is **{compat}%**" - await message.edit(rep, disable_web_page_preview=True) + await message.edit(rep, link_preview_options=LinkPreviewOptions(is_disabled=True)) diff --git a/plugins/utils/mentions/__main__.py b/plugins/utils/mentions/__main__.py index 9033c4bef..cbae3d1ad 100644 --- a/plugins/utils/mentions/__main__.py +++ b/plugins/utils/mentions/__main__.py @@ -10,7 +10,7 @@ import os from pyrogram.errors import PeerIdInvalid, BadRequest, UserIsBlocked -from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton +from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton, LinkPreviewOptions from pyrogram import enums from userge import userge, Message, config, filters, get_collection @@ -35,10 +35,7 @@ async def _init(): async def toggle_mentions(msg: Message): """ toggle mentions """ global TOGGLE # pylint: disable=global-statement - if TOGGLE: - TOGGLE = False - else: - TOGGLE = True + TOGGLE = not TOGGLE await SAVED_SETTINGS.update_one( {"_id": "MENTION_TOGGLE"}, {"$set": {"data": TOGGLE}}, upsert=True ) @@ -49,6 +46,7 @@ async def toggle_mentions(msg: Message): ~filters.me & ~filters.bot & ~filters.service & (filters.mentioned | filters.private), group=1, allow_via_bot=False) async def handle_mentions(msg: Message, is_retry=False): + # sourcery skip: low-code-quality if TOGGLE is False: return @@ -67,7 +65,7 @@ async def handle_mentions(msg: Message, is_retry=False): else: link = msg.link text = f"{msg.from_user.mention} 💻 tagged you in **{msg.chat.title}.**" - text += f"\n\n[Message]({link}):" if not userge.has_bot else "\n\n**Message:**" + text += "\n\n**Message:**" if userge.has_bot else f"\n\n[Message]({link}):" if msg.text: text += f"\n`{msg.text}`" buttons = [[InlineKeyboardButton(text="📃 Message Link", url=link)]] @@ -97,6 +95,11 @@ async def handle_mentions(msg: Message, is_retry=False): chat_id, dl_loc ) + else: + sentMedia = await media_client.send_document( + chat_id, + dl_loc + ) else: sentMedia = await media_client.copy_message( chat_id, @@ -113,17 +116,16 @@ async def handle_mentions(msg: Message, is_retry=False): await client.send_message( chat_id=userge.id if userge.has_bot else config.LOG_CHANNEL_ID, text=text, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=InlineKeyboardMarkup(buttons) ) except (PeerIdInvalid, UserIsBlocked) as e: - if userge.dual_mode and not is_retry: - if isinstance(e, UserIsBlocked): - await userge.unblock_user(userge.bot.id) - await userge.send_message(userge.bot.id, "/start") - await handle_mentions(msg, True) - else: + if not userge.dual_mode or is_retry: raise + if isinstance(e, UserIsBlocked): + await userge.unblock_user(userge.bot.id) + await userge.send_message(userge.bot.id, "/start") + await handle_mentions(msg, True) finally: if dl_loc and os.path.exists(dl_loc): os.remove(dl_loc) diff --git a/plugins/utils/music/__main__.py b/plugins/utils/music/__main__.py index 64149c822..de445748a 100644 --- a/plugins/utils/music/__main__.py +++ b/plugins/utils/music/__main__.py @@ -16,7 +16,7 @@ from Python_ARQ import ARQ from aiohttp import ClientSession - +from pyrogram.types import LinkPreviewOptions from userge import config, Message, userge from .. import music from ...misc.download import url_download @@ -43,7 +43,7 @@ async def savn(message: Message): return await message.err( "Before using this command, " "you have to set this [Environmental var.](https://t.me/UsergePlugins/128)", - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) query = message.input_str await message.edit(f"Searching for {query} in JioSaavn...") @@ -89,7 +89,7 @@ async def deeza(message: Message): return await message.err( "Before using this command, " "you have to set this [Environmental var.](https://t.me/UsergePlugins/128)", - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) query = str(message.filtered_input_str) await message.edit(f"Searching for {query} in Deezer...") diff --git a/plugins/utils/notes/__main__.py b/plugins/utils/notes/__main__.py index 832ff2b36..cc6196242 100644 --- a/plugins/utils/notes/__main__.py +++ b/plugins/utils/notes/__main__.py @@ -10,7 +10,7 @@ import asyncio from typing import Dict, Tuple - +from pyrogram.types import ReplyParameters from userge import userge, Message, get_collection, config from ...builtin import sudo @@ -195,7 +195,7 @@ async def get_note(message: Message) -> None: message_id=mid, chat_id=message.chat.id, user_id=user_id, - reply_to_message_id=reply_to_message_id) + reply_parameters=ReplyParameters(message_id=reply_to_message_id)) @userge.on_cmd( diff --git a/plugins/utils/ocr/__main__.py b/plugins/utils/ocr/__main__.py index d34600f59..75bbb309b 100644 --- a/plugins/utils/ocr/__main__.py +++ b/plugins/utils/ocr/__main__.py @@ -11,7 +11,7 @@ import os from pyrogram import enums - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message, config from .. import ocr @@ -33,7 +33,7 @@ async def ocr_gen(message: Message): "Oops!!get the OCR API from " "HERE " "& add it to Heroku config vars (OCR_SPACE_API_KEY)", - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML, del_in=0) return diff --git a/plugins/utils/paste/__main__.py b/plugins/utils/paste/__main__.py index bbd2801dc..41605dedb 100644 --- a/plugins/utils/paste/__main__.py +++ b/plugins/utils/paste/__main__.py @@ -11,7 +11,7 @@ import os import re from typing import Optional, Dict - +from pyrogram.types import LinkPreviewOptions import aiofiles import aiohttp from aiohttp import client_exceptions @@ -268,7 +268,7 @@ async def paste_(message: Message) -> None: await message.edit(f"`Failed to reach {service.get_name().title()}`", del_in=5) else: await message.edit(f"**{service.get_name().title()}** [URL]({url})", - disable_web_page_preview=True) + link_preview_options=LinkPreviewOptions(is_disabled=True)) @userge.on_cmd("getpaste", about={ diff --git a/plugins/utils/qr_code/__main__.py b/plugins/utils/qr_code/__main__.py index 0dcedf674..0931f62ae 100644 --- a/plugins/utils/qr_code/__main__.py +++ b/plugins/utils/qr_code/__main__.py @@ -15,7 +15,7 @@ import qrcode from bs4 import BeautifulSoup - +from pyrogram.types import ReplyParameters from userge import userge, config, Message @@ -29,7 +29,7 @@ async def make_qr(message: Message): if input_: text = input_ elif replied: - text = input_ if input_ else replied.text + text = input_ or replied.text else: await message.err("```\nInput not found...```") return @@ -48,7 +48,7 @@ async def make_qr(message: Message): await userge.send_sticker( message.chat.id, "qrcode.webp", - reply_to_message_id=replied.id if replied else None + reply_parameters=ReplyParameters(message_id=replied.id if replied else None) ) os.remove("qrcode.webp") diff --git a/plugins/utils/removebg/__main__.py b/plugins/utils/removebg/__main__.py index fb807a3f4..ebfa76afb 100644 --- a/plugins/utils/removebg/__main__.py +++ b/plugins/utils/removebg/__main__.py @@ -13,10 +13,9 @@ import os from datetime import datetime - -from removebg import RemoveBg - +from pyrogram.types import LinkPreviewOptions from pyrogram import enums +from removebg import RemoveBg from userge import userge, config, Message from userge.utils import progress @@ -33,7 +32,7 @@ async def remove_background(message: Message): await message.edit( "Get the API from HERE " " & add it to Heroku Config Vars REMOVE_BG_API_KEY", - disable_web_page_preview=True, parse_mode=enums.ParseMode.HTML) + link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML) return await message.edit("Analysing...") replied = message.reply_to_message diff --git a/plugins/utils/requote/__main__.py b/plugins/utils/requote/__main__.py index b18112535..32d826852 100644 --- a/plugins/utils/requote/__main__.py +++ b/plugins/utils/requote/__main__.py @@ -11,7 +11,7 @@ # Author: Fayas (https://github.com/FayasNoushad) (@FayasNoushad) from requests.utils import requote_uri - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message @@ -26,5 +26,5 @@ async def requote(update: Message): text = requote_uri(update.input_str) await update.edit( text=text, - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) diff --git a/plugins/utils/time/__main__.py b/plugins/utils/time/__main__.py index 29ad9bd96..6352f532e 100644 --- a/plugins/utils/time/__main__.py +++ b/plugins/utils/time/__main__.py @@ -12,6 +12,7 @@ from pytz import timezone from pyrogram import enums +from pyrogram.types import LinkPreviewOptions from userge import userge, Message from . import COUNTRY_CITY @@ -37,7 +38,7 @@ async def grab_time(message: Message): country_input = await flag_checks(message) if country_input is None: return - country_code = COUNTRY_CITY if not country_input else country_input + country_code = country_input or COUNTRY_CITY try: timezone(country_code) except BaseException: @@ -79,7 +80,7 @@ async def flag_checks(message: Message): "Ex: America/Los_Angeles") if 'list' in message.flags or 'l' in message.flags: LOG.debug("Time | FLAG = List: Giving TZ list...") - await message.edit(default_message, disable_web_page_preview=True, + await message.edit(default_message, link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML, del_in=30) return None @@ -94,7 +95,7 @@ async def flag_checks(message: Message): return country_input if not COUNTRY_CITY: LOG.debug("Time: No Config Set") - await message.edit(default_message, disable_web_page_preview=True, + await message.edit(default_message, link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML, del_in=30) return None diff --git a/plugins/utils/transcribe/__main__.py b/plugins/utils/transcribe/__main__.py index 2729adb6b..793c73b86 100644 --- a/plugins/utils/transcribe/__main__.py +++ b/plugins/utils/transcribe/__main__.py @@ -18,7 +18,7 @@ from aiohttp import ClientSession from pydub import AudioSegment from pydub.exceptions import CouldntDecodeError - +from pyrogram.types import ReplyParameters from userge import userge, Message, config from userge.utils import is_url from userge.utils.exceptions import ProcessCanceled @@ -199,5 +199,5 @@ async def stt_(message: Message): await sleep(2) # send transcription text file await message.client.send_as_file( - chat_id=message.chat.id, reply_to_message_id=message_id, + chat_id=message.chat.id, reply_parameters=ReplyParameters(message_id=message_id), text=api.text, filename=f"{file_name}_{lang}_transcription.txt") diff --git a/plugins/utils/ud/__main__.py b/plugins/utils/ud/__main__.py index ffe6455bc..f41582a0b 100644 --- a/plugins/utils/ud/__main__.py +++ b/plugins/utils/ud/__main__.py @@ -17,7 +17,8 @@ from pyrogram.types import ( InlineQuery, InlineQueryResultArticle, - InputTextMessageContent + InputTextMessageContent, + LinkPreviewOptions ) from pyrogram import enums @@ -83,7 +84,9 @@ async def wpraip(query: str) -> List[InlineQueryResultArticle]: input_message_content=InputTextMessageContent( message_text=message_text, parse_mode=enums.ParseMode.HTML, - disable_web_page_preview=False + link_preview_options=LinkPreviewOptions( + is_disabled=False + ) ), url=term.get("permalink"), description=term.get("definition", " ") diff --git a/plugins/utils/video_chat/callbacks.py b/plugins/utils/video_chat/callbacks.py index 8acaf81be..4e057df6d 100644 --- a/plugins/utils/video_chat/callbacks.py +++ b/plugins/utils/video_chat/callbacks.py @@ -3,7 +3,8 @@ from pyrogram.types import (InlineKeyboardMarkup, InlineKeyboardButton, CallbackQuery, - Message as RawMessage) + Message as RawMessage, + LinkPreviewOptions) from pyrogram.errors import MessageNotModified, QueryIdInvalid from userge import userge, filters, config @@ -39,7 +40,7 @@ async def vc_callback(cq: CallbackQuery): CQ_MSG.pop(i) break - await cq.edit_message_text(text, disable_web_page_preview=True) + await cq.edit_message_text(text, link_preview_options=LinkPreviewOptions(is_disabled=True)) await skip_song() elif "queue" in cq.data: @@ -67,7 +68,7 @@ async def vc_callback(cq: CallbackQuery): await cq.edit_message_text( out, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=button ) @@ -75,7 +76,7 @@ async def vc_callback(cq: CallbackQuery): if Vars.BACK_BUTTON_TEXT: await cq.edit_message_text( Vars.BACK_BUTTON_TEXT, - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), reply_markup=default_markup() ) else: diff --git a/plugins/utils/video_chat/helpers.py b/plugins/utils/video_chat/helpers.py index e633e6c6f..485379446 100644 --- a/plugins/utils/video_chat/helpers.py +++ b/plugins/utils/video_chat/helpers.py @@ -7,6 +7,7 @@ from pathlib import Path from traceback import format_exc +from pyrogram.types import LinkPreviewOptions from pyrogram.raw.types import GroupCall from pyrogram.errors import ( ChatAdminRequired, @@ -197,7 +198,7 @@ async def skip_song(clear_queue: bool = False): await Vars.CLIENT.send_message( Vars.CHAT_ID, out, - disable_web_page_preview=True + link_preview_options=LinkPreviewOptions(is_disabled=True) ) await skip_song() diff --git a/plugins/utils/weather/__main__.py b/plugins/utils/weather/__main__.py index 6cb13fd7f..cf9dfe93f 100644 --- a/plugins/utils/weather/__main__.py +++ b/plugins/utils/weather/__main__.py @@ -15,7 +15,7 @@ from pytz import country_timezones as c_tz, timezone as tz, country_names as c_n from pyrogram import enums - +from pyrogram.types import LinkPreviewOptions from userge import userge, Message from .. import weather @@ -52,7 +52,7 @@ async def weather_get(message: Message): "Oops!!get the API from " "HERE " "& add it to Heroku config vars (OPEN_WEATHER_MAP)", - disable_web_page_preview=True, + link_preview_options=LinkPreviewOptions(is_disabled=True), parse_mode=enums.ParseMode.HTML, del_in=0) return diff --git a/plugins/utils/webss/__main__.py b/plugins/utils/webss/__main__.py index 49034f7b8..ff3c16f45 100644 --- a/plugins/utils/webss/__main__.py +++ b/plugins/utils/webss/__main__.py @@ -15,7 +15,7 @@ import aiofiles from fake_headers import Headers from selenium import webdriver - +from pyrogram.types import ReplyParameters from userge import userge, Message, config from .. import webss @@ -72,7 +72,7 @@ async def _webss(message: Message): message.client.send_document(chat_id=message.chat.id, document=file_path, caption=link, - reply_to_message_id=message_id) + reply_parameters=ReplyParameters(message_id=message_id)) ) os.remove(file_path) driver.quit() diff --git a/plugins/utils/welcome/__main__.py b/plugins/utils/welcome/__main__.py index 5f94a57c9..505c5b596 100644 --- a/plugins/utils/welcome/__main__.py +++ b/plugins/utils/welcome/__main__.py @@ -9,6 +9,7 @@ # All rights reserved. from userge import userge, filters, Message, get_collection +from pyrogram.types import ReplyParameters SAVED_SETTINGS = get_collection("CONFIGS") WELCOME_COLLECTION = get_collection("welcome") @@ -296,5 +297,5 @@ async def raw_say(message: Message, name, collection): message_id=found['mid'], chat_id=message.chat.id, user_id=user.id, - reply_to_message_id=message.id, + reply_parameters=ReplyParameters(message_id=message.id), del_in=WELCOME_DELETE_TIMEOUT) diff --git a/plugins/utils/wikipedia/__main__.py b/plugins/utils/wikipedia/__main__.py index e0dd2f343..96553b16b 100644 --- a/plugins/utils/wikipedia/__main__.py +++ b/plugins/utils/wikipedia/__main__.py @@ -11,7 +11,7 @@ import wikipedia from userge import userge, Message - +from pyrogram.types import LinkPreviewOptions @userge.on_cmd("wiki", about={ 'header': "do a Wikipedia search", @@ -43,4 +43,4 @@ async def wiki_pedia(message: Message): break output = f"**Wikipedia Search:**\n`{query}`\n\n**Results:**\n{output}" await message.edit_or_send_as_file(text=output, caption=query, - disable_web_page_preview=True) + link_preview_options=LinkPreviewOptions(is_disabled=True))