TheHamkerCat vor 5 Jahren
Ursprung
Commit
e91273ab83
5 geänderte Dateien mit 31 neuen und 26 gelöschten Zeilen
  1. 15 14
      wbb/modules/admin.py
  2. 4 4
      wbb/modules/misc.py
  3. 10 7
      wbb/modules/trust.py
  4. 1 0
      wbb/modules/userbot.py
  5. 1 1
      wbb/utils/functions.py

+ 15 - 14
wbb/modules/admin.py

@@ -133,7 +133,7 @@ async def list_members(group_id):
 # Purge Messages
 # Purge Messages
 
 
 
 
-@app.on_message(filters.command("purge") & ~filters.edited)
+@app.on_message(filters.command("purge") & ~filters.edited & ~filters.private)
 @adminsOnly("can_delete_messages")
 @adminsOnly("can_delete_messages")
 async def purgeFunc(client, message: Message):
 async def purgeFunc(client, message: Message):
     chat_id = message.chat.id
     chat_id = message.chat.id
@@ -165,7 +165,7 @@ async def purgeFunc(client, message: Message):
 # Kick members
 # Kick members
 
 
 
 
-@app.on_message(filters.command("kick") & ~filters.edited)
+@app.on_message(filters.command("kick") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def kickFunc(_, message: Message):
 async def kickFunc(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
     user_id, reason = await extract_user_and_reason(message)
@@ -195,7 +195,7 @@ async def kickFunc(_, message: Message):
 # Ban members
 # Ban members
 
 
 
 
-@app.on_message(filters.command("ban") & ~filters.edited)
+@app.on_message(filters.command("ban") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def banFunc(_, message: Message):
 async def banFunc(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
     user_id, reason = await extract_user_and_reason(message)
@@ -225,7 +225,7 @@ async def banFunc(_, message: Message):
 # Unban members
 # Unban members
 
 
 
 
-@app.on_message(filters.command("unban") & ~filters.edited)
+@app.on_message(filters.command("unban") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def unbanFunc(_, message: Message):
 async def unbanFunc(_, message: Message):
     # we don't need reasons for unban, also, we
     # we don't need reasons for unban, also, we
@@ -247,7 +247,7 @@ async def unbanFunc(_, message: Message):
 # Delete messages
 # Delete messages
 
 
 
 
-@app.on_message(filters.command("del") & ~filters.edited)
+@app.on_message(filters.command("del") & ~filters.edited & ~filters.private)
 @adminsOnly("can_delete_messages")
 @adminsOnly("can_delete_messages")
 async def deleteFunc(_, message: Message):
 async def deleteFunc(_, message: Message):
     if not message.reply_to_message:
     if not message.reply_to_message:
@@ -259,7 +259,7 @@ async def deleteFunc(_, message: Message):
 # Promote Members
 # Promote Members
 
 
 
 
-@app.on_message(filters.command("promote") & ~filters.edited)
+@app.on_message(filters.command("promote") & ~filters.edited & ~filters.private)
 @adminsOnly("can_promote_members")
 @adminsOnly("can_promote_members")
 async def promoteFunc(_, message: Message):
 async def promoteFunc(_, message: Message):
     user_id = await extract_user(message)
     user_id = await extract_user(message)
@@ -287,7 +287,7 @@ async def promoteFunc(_, message: Message):
 # Demote Member
 # Demote Member
 
 
 
 
-@app.on_message(filters.command("demote") & ~filters.edited)
+@app.on_message(filters.command("demote") & ~filters.edited & ~filters.private)
 @adminsOnly("can_promote_members")
 @adminsOnly("can_promote_members")
 async def demote(_, message: Message):
 async def demote(_, message: Message):
     user_id = await extract_user(message)
     user_id = await extract_user(message)
@@ -320,7 +320,7 @@ async def demote(_, message: Message):
 # Pin Messages
 # Pin Messages
 
 
 
 
-@app.on_message(filters.command("pin") & ~filters.edited)
+@app.on_message(filters.command("pin") & ~filters.edited & ~filters.private)
 @adminsOnly("can_pin_messages")
 @adminsOnly("can_pin_messages")
 async def pin(_, message: Message):
 async def pin(_, message: Message):
     if not message.reply_to_message:
     if not message.reply_to_message:
@@ -331,7 +331,7 @@ async def pin(_, message: Message):
 # Mute members
 # Mute members
 
 
 
 
-@app.on_message(filters.command("mute") & ~filters.edited)
+@app.on_message(filters.command("mute") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def mute(_, message: Message):
 async def mute(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
     user_id, reason = await extract_user_and_reason(message)
@@ -360,7 +360,7 @@ async def mute(_, message: Message):
 # Unmute members
 # Unmute members
 
 
 
 
-@app.on_message(filters.command("unmute") & ~filters.edited)
+@app.on_message(filters.command("unmute") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def unmute(_, message: Message):
 async def unmute(_, message: Message):
     user_id = await extract_user(message)
     user_id = await extract_user(message)
@@ -373,7 +373,7 @@ async def unmute(_, message: Message):
 # Ban deleted accounts
 # Ban deleted accounts
 
 
 
 
-@app.on_message(filters.command("ban_ghosts"))
+@app.on_message(filters.command("ban_ghosts") & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def ban_deleted_accounts(_, message: Message):
 async def ban_deleted_accounts(_, message: Message):
     chat_id = message.chat.id
     chat_id = message.chat.id
@@ -394,7 +394,7 @@ async def ban_deleted_accounts(_, message: Message):
         await message.reply_text("There are no deleted accounts in this chat")
         await message.reply_text("There are no deleted accounts in this chat")
 
 
 
 
-@app.on_message(filters.command("warn") & ~filters.edited)
+@app.on_message(filters.command("warn") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def warn_user(_, message: Message):
 async def warn_user(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
     user_id, reason = await extract_user_and_reason(message)
@@ -473,7 +473,7 @@ async def remove_warning(_, cq: CallbackQuery):
 # Rmwarns
 # Rmwarns
 
 
 
 
-@app.on_message(filters.command("rmwarns") & ~filters.edited)
+@app.on_message(filters.command("rmwarns") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 @adminsOnly("can_restrict_members")
 async def remove_warnings(_, message: Message):
 async def remove_warnings(_, message: Message):
     if not message.reply_to_message:
     if not message.reply_to_message:
@@ -496,7 +496,7 @@ async def remove_warnings(_, message: Message):
 # Warns
 # Warns
 
 
 
 
-@app.on_message(filters.command("warns") & ~filters.edited)
+@app.on_message(filters.command("warns") & ~filters.edited & ~filters.private)
 @capture_err
 @capture_err
 async def check_warns(_, message: Message):
 async def check_warns(_, message: Message):
     user_id = await extract_user(message)
     user_id = await extract_user(message)
@@ -517,6 +517,7 @@ async def check_warns(_, message: Message):
 @app.on_message(
 @app.on_message(
     filters.command(["report", "admins"], prefixes=["@", "/"])
     filters.command(["report", "admins"], prefixes=["@", "/"])
     & ~filters.edited
     & ~filters.edited
+    & ~filters.private
 )
 )
 @capture_err
 @capture_err
 async def report_user(_, message):
 async def report_user(_, message):

+ 4 - 4
wbb/modules/misc.py

@@ -238,10 +238,10 @@ async def tr(_, message):
             + " https://py-googletrans.readthedocs.io/en"
             + " https://py-googletrans.readthedocs.io/en"
             + "/latest/#googletrans-languages"
             + "/latest/#googletrans-languages"
         )
         )
-    if message.reply_to_message.text:
-        text = message.reply_to_message.text
-    elif message.reply_to_message.caption:
-        text = message.reply_to_message.caption
+    reply = message.reply_to_message
+    text = message.text or message.reply
+    if not text:
+        return await message.reply_text("Reply to a text to translate it")
     result = await arq.translate(text, lang)
     result = await arq.translate(text, lang)
     if not result.ok:
     if not result.ok:
         return await message.reply_text(result.result)
         return await message.reply_text(result.result)

+ 10 - 7
wbb/modules/trust.py

@@ -21,6 +21,7 @@ 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
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 SOFTWARE.
 """
 """
+from asyncio import Lock
 from pyrogram import filters
 from pyrogram import filters
 from pyrogram.types import Message
 from pyrogram.types import Message
 
 
@@ -31,15 +32,17 @@ from wbb.utils.filter_groups import trust_group
 
 
 spam_db = {}
 spam_db = {}
 
 
+lock_access = Lock()
 
 
 async def get_spam_data(message: Message, text: str):
 async def get_spam_data(message: Message, text: str):
-    c, m = message.chat.id, message.message_id
-    if c not in spam_db:
-        spam_db[c] = {}
-    if m not in spam_db[c]:
-        data = (await arq.nlp(text)).result[0]
-        spam_db[c][m] = data
-    return spam_db[c][m]
+    async with lock_access:
+        c, m = message.chat.id, message.message_id
+        if c not in spam_db:
+            spam_db[c] = {}
+        if m not in spam_db[c]:
+            data = (await arq.nlp(text)).result[0]
+            spam_db[c][m] = data
+        return spam_db[c][m]
 
 
 
 
 @app2.on_message(
 @app2.on_message(

+ 1 - 0
wbb/modules/userbot.py

@@ -19,6 +19,7 @@ from pyrogram import filters
 from pyrogram.types import Message
 from pyrogram.types import Message
 
 
 from wbb import SUDOERS, USERBOT_PREFIX, app2, arq
 from wbb import SUDOERS, USERBOT_PREFIX, app2, arq
+from wbb import app # don't remove
 from wbb.core.decorators.misc import exec_time
 from wbb.core.decorators.misc import exec_time
 
 
 __MODULE__ = "Userbot"
 __MODULE__ = "Userbot"

+ 1 - 1
wbb/utils/functions.py

@@ -224,4 +224,4 @@ async def extract_user_and_reason(message):
 
 
 
 
 async def extract_user(message):
 async def extract_user(message):
-    return (await extract_user_and_reason())[0]
+    return (await extract_user_and_reason(message))[0]