Browse Source

https://t.me/pyrogramchat/435378

TheHamkerCat 4 years ago
parent
commit
a1db7a019c

+ 1 - 1
README.md

@@ -122,7 +122,7 @@ __MODULE__ = "Module Name"
 __HELP__ = "Module help message"
 
 
-@app.on_message(filters.command("start"))
+@app.on_message(~filters.edited & filters.command("start"))
 async def some_function(_, message):
     await message.reply_text("I'm already up!!")
 

+ 2 - 2
wbb/__main__.py

@@ -168,7 +168,7 @@ keyboard = InlineKeyboardMarkup(
 )
 
 
-@app.on_message(filters.command("start"))
+@app.on_message(~filters.edited & filters.command("start"))
 async def start(_, message):
     if message.chat.type != "private":
         return await message.reply(
@@ -201,7 +201,7 @@ async def start(_, message):
     return
 
 
-@app.on_message(filters.command("help"))
+@app.on_message(~filters.edited & filters.command("help"))
 async def help_command(_, message):
     if message.chat.type != "private":
         if len(message.command) >= 2:

+ 5 - 1
wbb/modules/admin.py

@@ -529,7 +529,11 @@ async def unmute(_, message: Message):
 # Ban deleted accounts
 
 
-@app.on_message(filters.command("ban_ghosts") & ~filters.private)
+@app.on_message(
+    filters.command("ban_ghosts")
+    & ~filters.private
+    & ~filters.edited
+)
 @adminsOnly("can_restrict_members")
 async def ban_deleted_accounts(_, message: Message):
     chat_id = message.chat.id

+ 15 - 3
wbb/modules/admin_misc.py

@@ -36,7 +36,11 @@ __HELP__ = """
 """
 
 
-@app.on_message(filters.command("set_chat_title") & ~filters.private)
+@app.on_message(
+    filters.command("set_chat_title")
+    & ~filters.private
+    & ~filters.edited
+)
 @adminsOnly("can_change_info")
 async def set_chat_title(_, message):
     if len(message.command) < 2:
@@ -49,7 +53,11 @@ async def set_chat_title(_, message):
     )
 
 
-@app.on_message(filters.command("set_user_title") & ~filters.private)
+@app.on_message(
+    filters.command("set_user_title")
+    & ~filters.private
+    & ~filters.edited
+)
 @adminsOnly("can_change_info")
 async def set_user_title(_, message):
     if not message.reply_to_message:
@@ -73,7 +81,11 @@ async def set_user_title(_, message):
     )
 
 
-@app.on_message(filters.command("set_chat_photo") & ~filters.private)
+@app.on_message(
+    filters.command("set_chat_photo")
+    & ~filters.private
+    & ~filters.edited
+)
 @adminsOnly("can_change_info")
 async def set_chat_photo(_, message):
     reply = message.reply_to_message

+ 5 - 1
wbb/modules/antiservice.py

@@ -19,7 +19,11 @@ Plugin to delete service messages in a chat!
 """
 
 
-@app.on_message(filters.command("antiservice") & ~filters.private)
+@app.on_message(
+    filters.command("antiservice")
+    & ~filters.private
+    & ~filters.edited
+)
 @adminsOnly("can_change_info")
 async def anti_service(_, message):
     if len(message.command) != 2:

+ 4 - 1
wbb/modules/arq.py

@@ -27,7 +27,10 @@ from wbb import app, arq
 from wbb.core.sections import section
 
 
-@app.on_message(filters.command("arq"))
+@app.on_message(
+    filters.command("arq")
+    & ~filters.edited
+)
 async def arq_stats(_, message):
     data = await arq.stats()
     if not data.ok:

+ 0 - 99
wbb/modules/arq_storage.py

@@ -1,99 +0,0 @@
-"""
-MIT License
-
-Copyright (c) 2021 TheHamkerCat
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-"""
-
-from asyncio import Lock
-from os import remove
-
-from pyrogram import filters
-from pyrogram.types import Message
-
-from wbb import app, arq
-from wbb.core.decorators.errors import capture_err
-from wbb.utils.functions import get_file_id_from_message
-
-__MODULE__ = "Storage"
-__HELP__ = """
-Upload unlimited files smaller than 100MB
-And get a download link
-
-**Usage:**
-    /upload [url|Reply to a file]
-"""
-
-UPLOAD_LOCK = Lock()
-
-
-async def upload(m: Message, file: str = None, url: str = None):
-    err = "Something went wrong"
-    try:
-        resp = await arq.upload(file=file, url=url)
-    except Exception:
-        await m.edit(err)
-        if file:
-            remove(file)
-        return
-
-    if file:
-        remove(file)
-
-    if not resp:
-        return await m.edit(err)
-
-    if not resp.ok:
-        return await m.edit(err)
-
-    await m.edit(
-        f"**Download Link:** {resp.result}",
-        disable_web_page_preview=True,
-    )
-
-
-@app.on_message(filters.command("upload"))
-@capture_err
-async def arq_upload(_, message):
-    if message.reply_to_message:
-        if UPLOAD_LOCK.locked():
-            return await message.reply(
-                "One upload is already in progress, please try again later"
-            )
-        async with UPLOAD_LOCK:
-            r = message.reply_to_message
-
-            file_id = get_file_id_from_message(r, 100000000, None)
-            if not file_id:
-                return await message.reply("Unsupported media.")
-
-            m = await message.reply("Downloading...")
-            file = await app.download_media(file_id)
-
-            await m.edit("Uploading...")
-            return await upload(m, file=file)
-
-    if len(message.command) != 2:
-        return await message.reply("Not enough arguments")
-
-    url = message.text.split(None, 1)[1]
-
-    m = await message.reply("Uploading...")
-    await upload(m, url=url)

+ 4 - 1
wbb/modules/autocorrect.py

@@ -6,7 +6,10 @@ from wbb.modules.userbot import eor
 from wbb.utils.filter_groups import autocorrect_group
 
 
-@app.on_message(filters.command("autocorrect"))
+@app.on_message(
+    filters.command("autocorrect")
+    & ~filters.edited
+)
 async def autocorrect_bot(_, message: Message):
     if not message.reply_to_message:
         return await message.reply_text("Reply to a text message.")

+ 4 - 1
wbb/modules/blacklist.py

@@ -95,7 +95,10 @@ async def del_filter(_, message):
     await message.reply_text("**No such blacklist filter.**")
 
 
-@app.on_message(filters.text & ~filters.private, group=blacklist_filters_group)
+@app.on_message(
+    filters.text
+    & ~filters.private
+    & ~filters.edited, group=blacklist_filters_group)
 @capture_err
 async def blacklist_filters_re(_, message):
     text = message.text.lower().strip()

+ 15 - 3
wbb/modules/blacklist_chat.py

@@ -22,7 +22,11 @@ in which you don't want it to be in.
 """
 
 
-@app.on_message(filters.command("blacklist_chat") & SUDOERS)
+@app.on_message(
+    filters.command("blacklist_chat")
+    & SUDOERS
+    & ~filters.edited
+)
 @capture_err
 async def blacklist_chat_func(_, message: Message):
     if len(message.command) != 2:
@@ -40,7 +44,11 @@ async def blacklist_chat_func(_, message: Message):
     await message.reply_text("Something wrong happened, check logs.")
 
 
-@app.on_message(filters.command("whitelist_chat") & SUDOERS)
+@app.on_message(
+    filters.command("whitelist_chat")
+    & SUDOERS
+    & ~filters.edited
+)
 @capture_err
 async def whitelist_chat_func(_, message: Message):
     if len(message.command) != 2:
@@ -58,7 +66,11 @@ async def whitelist_chat_func(_, message: Message):
     await message.reply_text("Something wrong happened, check logs.")
 
 
-@app.on_message(filters.command("blacklisted_chats") & SUDOERS)
+@app.on_message(
+    filters.command("blacklisted_chats")
+    & SUDOERS
+    & ~filters.edited
+)
 @capture_err
 async def blacklisted_chats_func(_, message: Message):
     text = ""

+ 4 - 1
wbb/modules/carbon.py

@@ -29,7 +29,10 @@ from wbb.core.decorators.errors import capture_err
 from wbb.utils.functions import make_carbon
 
 
-@app.on_message(filters.command("carbon"))
+@app.on_message(
+    filters.command("carbon")
+    & ~filters.edited
+)
 @capture_err
 async def carbon_func(_, message):
     if not message.reply_to_message:

+ 2 - 1
wbb/modules/chatbot.py

@@ -100,7 +100,8 @@ async def type_and_send(message: Message):
     & filters.reply
     & ~filters.bot
     & ~filters.via_bot
-    & ~filters.forwarded,
+    & ~filters.forwarded
+    & ~filters.edited,
     group=chatbot_group,
 )
 @capture_err

+ 1 - 1
wbb/modules/crypto.py

@@ -13,7 +13,7 @@ __HELP__ = """
 """
 
 
-@app.on_message(filters.command("crypto"))
+@app.on_message(filters.command("crypto") & ~filters.edited)
 @capture_err
 async def crypto(_, message):
     if len(message.command) < 2:

+ 1 - 1
wbb/modules/dice.py

@@ -11,7 +11,7 @@ __HELP__ = """
 
 
 @app2.on_message(filters.command("dice", prefixes=USERBOT_PREFIX) & SUDOERS)
-@app.on_message(filters.command("dice"))
+@app.on_message(filters.command("dice") & ~filters.edited)
 async def throw_dice(client, message: Message):
     six = (message.from_user.id in SUDOERS) if message.from_user else False
 

+ 1 - 1
wbb/modules/flood.py

@@ -151,7 +151,7 @@ async def flood_callback_func(_, cq: CallbackQuery):
     await cq.message.edit(text)
 
 
-@app.on_message(filters.command("flood") & ~filters.private)
+@app.on_message(filters.command("flood") & ~filters.private & ~filters.edited)
 @adminsOnly("can_change_info")
 async def flood_toggle(_, message: Message):
     if len(message.command) != 2:

+ 8 - 4
wbb/modules/greetings.py

@@ -360,7 +360,8 @@ async def _ban_restricted_user_until_date(
         pass
 
 
-@app.on_message(filters.command("captcha") & ~filters.private)
+@app.on_message(
+    filters.command("captcha") & ~filters.private & ~filters.edited)
 @adminsOnly("can_restrict_members")
 async def captcha_state(_, message):
     usage = "**Usage:**\n/captcha [ENABLE|DISABLE]"
@@ -383,7 +384,8 @@ async def captcha_state(_, message):
 # WELCOME MESSAGE
 
 
-@app.on_message(filters.command("set_welcome") & ~filters.private)
+@app.on_message(
+    filters.command("set_welcome") & ~filters.private & ~filters.edited)
 @adminsOnly("can_change_info")
 async def set_welcome_func(_, message):
     usage = "You need to reply to a text, check the Greetings module in /help"
@@ -401,7 +403,8 @@ async def set_welcome_func(_, message):
     await message.reply_text("Welcome message has been successfully set.")
 
 
-@app.on_message(filters.command("del_welcome") & ~filters.private)
+@app.on_message(
+    filters.command("del_welcome") & ~filters.private & ~filters.edited)
 @adminsOnly("can_change_info")
 async def del_welcome_func(_, message):
     chat_id = message.chat.id
@@ -409,7 +412,8 @@ async def del_welcome_func(_, message):
     await message.reply_text("Welcome message has been deleted.")
 
 
-@app.on_message(filters.command("get_welcome") & ~filters.private)
+@app.on_message(
+    filters.command("get_welcome") & ~filters.private & ~filters.edited)
 @adminsOnly("can_change_info")
 async def get_welcome_func(_, message):
     chat = message.chat

+ 1 - 1
wbb/modules/img_pdf.py

@@ -92,7 +92,7 @@ async def convert(
             remove(file)
 
 
-@app.on_message(filters.command("pdf"))
+@app.on_message(filters.command("pdf") & ~filters.edited)
 @capture_err
 async def img_to_pdf(_, message: Message):
     reply = message.reply_to_message

+ 2 - 2
wbb/modules/info.py

@@ -95,7 +95,7 @@ async def get_chat_info(chat, already=False):
     return [caption, photo_id]
 
 
-@app.on_message(filters.command("info"))
+@app.on_message(filters.command("info") & ~filters.edited)
 async def info_func(_, message: Message):
     if message.reply_to_message:
         user = message.reply_to_message.from_user.id
@@ -120,7 +120,7 @@ async def info_func(_, message: Message):
     os.remove(photo)
 
 
-@app.on_message(filters.command("chat_info"))
+@app.on_message(filters.command("chat_info") & ~filters.edited)
 async def chat_info_func(_, message: Message):
     try:
         if len(message.command) > 2:

+ 3 - 2
wbb/modules/karma.py

@@ -132,7 +132,7 @@ async def downvote(_, message):
     )
 
 
-@app.on_message(filters.command("karma") & filters.group)
+@app.on_message(filters.command("karma") & filters.group & ~filters.edited)
 @capture_err
 async def command_karma(_, message):
     chat_id = message.chat.id
@@ -182,7 +182,8 @@ async def command_karma(_, message):
             await message.reply_text(f"**Total Points**: __{karma}__")
 
 
-@app.on_message(filters.command("karma_toggle") & ~filters.private)
+@app.on_message(
+    filters.command("karma_toggle") & ~filters.private & ~filters.edited)
 @adminsOnly("can_change_info")
 async def captcha_state(_, message):
     usage = "**Usage:**\n/karma_toggle [ENABLE|DISABLE]"

+ 4 - 2
wbb/modules/locks.py

@@ -89,7 +89,8 @@ async def tg_lock(message, permissions: list, perm: str, lock: bool):
     await message.reply_text(("Locked." if lock else "Unlocked."))
 
 
-@app.on_message(filters.command(["lock", "unlock"]) & ~filters.private)
+@app.on_message(
+    filters.command(["lock", "unlock"]) & ~filters.private & ~filters.edited)
 @adminsOnly("can_restrict_members")
 async def locks_func(_, message):
     if len(message.command) != 2:
@@ -132,7 +133,8 @@ async def locks_func(_, message):
         await message.reply(f"Unlocked Everything in {message.chat.title}")
 
 
-@app.on_message(filters.command("locks") & ~filters.private)
+@app.on_message(
+    filters.command("locks") & ~filters.private & ~filters.edited)
 @capture_err
 async def locktypes(_, message):
     permissions = await current_chat_permissions(message.chat.id)

+ 1 - 1
wbb/modules/misc.py

@@ -160,7 +160,7 @@ async def commit(_, message):
     await message.reply_text(await get("http://whatthecommit.com/index.txt"))
 
 
-@app.on_message(filters.command("RTFM", "#"))
+@app.on_message(filters.command("RTFM", "#") & ~filters.edited)
 async def rtfm(_, message):
     await message.delete()
     if not message.reply_to_message:

+ 1 - 1
wbb/modules/mongo_backup.py

@@ -30,7 +30,7 @@ from pyrogram.types import Message
 from wbb import MONGO_URL, SUDOERS, app
 
 
-@app.on_message(filters.command("backup") & SUDOERS)
+@app.on_message(filters.command("backup") & SUDOERS & ~filters.edited)
 async def backup(_, message: Message):
     if message.chat.type != "private":
         return await message.reply("This command can only be used in private")

+ 2 - 2
wbb/modules/music.py

@@ -78,7 +78,7 @@ def download_youtube_audio(arq_resp):
     return [title, performer, duration, audio_file, thumbnail_file]
 
 
-@app.on_message(filters.command("ytmusic"))
+@app.on_message(filters.command("ytmusic") & ~filters.edited)
 @capture_err
 async def music(_, message):
     global is_downloading
@@ -181,7 +181,7 @@ async def jssong(_, message):
 # Lyrics
 
 
-@app.on_message(filters.command("lyrics"))
+@app.on_message(filters.command("lyrics") & ~filters.edited)
 async def lyrics_func(_, message):
     if len(message.command) < 2:
         return await message.reply_text("**Usage:**\n/lyrics [QUERY]")

+ 3 - 3
wbb/modules/pipes.py

@@ -95,7 +95,7 @@ async def pipes_worker_userbot(_, message: Message):
         await app.send_message(to_chat_id, text=message.text + caption)
 
 
-@app.on_message(filters.command("activate_pipe") & SUDOERS)
+@app.on_message(filters.command("activate_pipe") & SUDOERS & ~filters.edited)
 @capture_err
 async def activate_pipe_func(_, message: Message):
     global pipes_list_bot, pipes_list_userbot
@@ -125,7 +125,7 @@ async def activate_pipe_func(_, message: Message):
     await message.reply_text("Activated pipe.")
 
 
-@app.on_message(filters.command("deactivate_pipe") & SUDOERS)
+@app.on_message(filters.command("deactivate_pipe") & SUDOERS & ~filters.edited)
 @capture_err
 async def deactivate_pipe_func(_, message: Message):
     global pipes_list_bot, pipes_list_userbot
@@ -147,7 +147,7 @@ async def deactivate_pipe_func(_, message: Message):
     await message.reply_text("Deactivated pipe.")
 
 
-@app.on_message(filters.command("pipes") & SUDOERS)
+@app.on_message(filters.command("pipes") & SUDOERS & ~filters.edited)
 @capture_err
 async def show_pipes_func(_, message: Message):
     pipes_list_bot.update(pipes_list_userbot)

+ 1 - 1
wbb/modules/quotly.py

@@ -65,7 +65,7 @@ def isArgInt(message: Message) -> list:
 
 
 @app2.on_message(filters.command("q", prefixes=USERBOT_PREFIX) & SUDOERS)
-@app.on_message(filters.command("q") & ~filters.private)
+@app.on_message(filters.command("q") & ~filters.private & ~filters.edited)
 @capture_err
 async def quotly_func(client, message: Message):
     if not message.reply_to_message:

+ 1 - 1
wbb/modules/reverse.py

@@ -45,7 +45,7 @@ async def get_soup(url: str, headers):
 
 
 @app2.on_message(filters.command("reverse", prefixes=USERBOT_PREFIX) & SUDOERS)
-@app.on_message(filters.command("reverse"))
+@app.on_message(filters.command("reverse") & ~filters.edited)
 @capture_err
 async def reverse_image_search(client, message: Message):
     if not message.reply_to_message:

+ 2 - 2
wbb/modules/rss.py

@@ -70,7 +70,7 @@ loop = get_event_loop()
 loop.create_task(rss_worker())
 
 
-@app.on_message(filters.command("add_feed"))
+@app.on_message(filters.command("add_feed") & ~filters.edited)
 @capture_err
 async def add_feed_func(_, m: Message):
     if len(m.command) != 2:
@@ -109,7 +109,7 @@ async def add_feed_func(_, m: Message):
     await add_rss_feed(chat_id, parsed.url, feed.title)
 
 
-@app.on_message(filters.command("rm_feed"))
+@app.on_message(filters.command("rm_feed") & ~filters.edited)
 async def rm_feed_func(_, m: Message):
     if await is_rss_active(m.chat.id):
         await remove_rss_feed(m.chat.id)

+ 3 - 3
wbb/modules/sudoers.py

@@ -92,7 +92,7 @@ DISK: {disk}%
 # Gban
 
 
-@app.on_message(filters.command("gban") & SUDOERS)
+@app.on_message(filters.command("gban") & SUDOERS & ~filters.edited)
 @capture_err
 async def ban_globally(_, message):
     user_id, reason = await extract_user_and_reason(message)
@@ -159,7 +159,7 @@ __**New Global Ban**__
 # Ungban
 
 
-@app.on_message(filters.command("ungban") & SUDOERS)
+@app.on_message(filters.command("ungban") & SUDOERS & ~filters.edited)
 @capture_err
 async def unban_globally(_, message):
     user_id = await extract_user(message)
@@ -206,7 +206,7 @@ async def broadcast_message(_, message):
 # Update
 
 
-@app.on_message(filters.command("update") & SUDOERS)
+@app.on_message(filters.command("update") & SUDOERS & ~filters.edited)
 async def update_restart(_, message):
     try:
         out = subprocess.check_output(["git", "pull"]).decode("UTF-8")

+ 1 - 1
wbb/modules/telegraph.py

@@ -8,7 +8,7 @@ __MODULE__ = "Telegraph"
 __HELP__ = "/telegraph [Page name]: Paste styled text on telegraph."
 
 
-@app.on_message(filters.command("telegraph"))
+@app.on_message(filters.command("telegraph") & ~filters.edited)
 @capture_err
 async def paste(_, message: Message):
     reply = message.reply_to_message

+ 1 - 1
wbb/modules/tts.py

@@ -43,7 +43,7 @@ def convert(text):
     return audio
 
 
-@app.on_message(filters.command("tts"))
+@app.on_message(filters.command("tts") & ~filters.edited)
 async def text_to_speech(_, message: Message):
     if not message.reply_to_message:
         return await message.reply_text("Reply to some text ffs.")

+ 1 - 1
wbb/modules/webss.py

@@ -57,7 +57,7 @@ async def take_screenshot(url: str, full: bool = False):
 
 
 @app2.on_message(filters.command("webss", USERBOT_PREFIX) & SUDOERS)
-@app.on_message(filters.command("webss"))
+@app.on_message(filters.command("webss") & ~filters.edited)
 @capture_err
 async def take_ss(_, message: Message):
     if len(message.command) < 2: