TheHamkerCat 5 年之前
父节点
当前提交
e91273ab83
共有 5 个文件被更改,包括 31 次插入 和 26 次删除
  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
 
 
-@app.on_message(filters.command("purge") & ~filters.edited)
+@app.on_message(filters.command("purge") & ~filters.edited & ~filters.private)
 @adminsOnly("can_delete_messages")
 async def purgeFunc(client, message: Message):
     chat_id = message.chat.id
@@ -165,7 +165,7 @@ async def purgeFunc(client, message: Message):
 # Kick members
 
 
-@app.on_message(filters.command("kick") & ~filters.edited)
+@app.on_message(filters.command("kick") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def kickFunc(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
@@ -195,7 +195,7 @@ async def kickFunc(_, message: Message):
 # Ban members
 
 
-@app.on_message(filters.command("ban") & ~filters.edited)
+@app.on_message(filters.command("ban") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def banFunc(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
@@ -225,7 +225,7 @@ async def banFunc(_, message: Message):
 # Unban members
 
 
-@app.on_message(filters.command("unban") & ~filters.edited)
+@app.on_message(filters.command("unban") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def unbanFunc(_, message: Message):
     # we don't need reasons for unban, also, we
@@ -247,7 +247,7 @@ async def unbanFunc(_, message: Message):
 # Delete messages
 
 
-@app.on_message(filters.command("del") & ~filters.edited)
+@app.on_message(filters.command("del") & ~filters.edited & ~filters.private)
 @adminsOnly("can_delete_messages")
 async def deleteFunc(_, message: Message):
     if not message.reply_to_message:
@@ -259,7 +259,7 @@ async def deleteFunc(_, message: Message):
 # Promote Members
 
 
-@app.on_message(filters.command("promote") & ~filters.edited)
+@app.on_message(filters.command("promote") & ~filters.edited & ~filters.private)
 @adminsOnly("can_promote_members")
 async def promoteFunc(_, message: Message):
     user_id = await extract_user(message)
@@ -287,7 +287,7 @@ async def promoteFunc(_, message: Message):
 # Demote Member
 
 
-@app.on_message(filters.command("demote") & ~filters.edited)
+@app.on_message(filters.command("demote") & ~filters.edited & ~filters.private)
 @adminsOnly("can_promote_members")
 async def demote(_, message: Message):
     user_id = await extract_user(message)
@@ -320,7 +320,7 @@ async def demote(_, message: Message):
 # Pin Messages
 
 
-@app.on_message(filters.command("pin") & ~filters.edited)
+@app.on_message(filters.command("pin") & ~filters.edited & ~filters.private)
 @adminsOnly("can_pin_messages")
 async def pin(_, message: Message):
     if not message.reply_to_message:
@@ -331,7 +331,7 @@ async def pin(_, message: Message):
 # Mute members
 
 
-@app.on_message(filters.command("mute") & ~filters.edited)
+@app.on_message(filters.command("mute") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def mute(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
@@ -360,7 +360,7 @@ async def mute(_, message: Message):
 # Unmute members
 
 
-@app.on_message(filters.command("unmute") & ~filters.edited)
+@app.on_message(filters.command("unmute") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def unmute(_, message: Message):
     user_id = await extract_user(message)
@@ -373,7 +373,7 @@ async def unmute(_, message: Message):
 # Ban deleted accounts
 
 
-@app.on_message(filters.command("ban_ghosts"))
+@app.on_message(filters.command("ban_ghosts") & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def ban_deleted_accounts(_, message: Message):
     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")
 
 
-@app.on_message(filters.command("warn") & ~filters.edited)
+@app.on_message(filters.command("warn") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def warn_user(_, message: Message):
     user_id, reason = await extract_user_and_reason(message)
@@ -473,7 +473,7 @@ async def remove_warning(_, cq: CallbackQuery):
 # Rmwarns
 
 
-@app.on_message(filters.command("rmwarns") & ~filters.edited)
+@app.on_message(filters.command("rmwarns") & ~filters.edited & ~filters.private)
 @adminsOnly("can_restrict_members")
 async def remove_warnings(_, message: Message):
     if not message.reply_to_message:
@@ -496,7 +496,7 @@ async def remove_warnings(_, message: Message):
 # Warns
 
 
-@app.on_message(filters.command("warns") & ~filters.edited)
+@app.on_message(filters.command("warns") & ~filters.edited & ~filters.private)
 @capture_err
 async def check_warns(_, message: Message):
     user_id = await extract_user(message)
@@ -517,6 +517,7 @@ async def check_warns(_, message: Message):
 @app.on_message(
     filters.command(["report", "admins"], prefixes=["@", "/"])
     & ~filters.edited
+    & ~filters.private
 )
 @capture_err
 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"
             + "/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)
     if not result.ok:
         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
 SOFTWARE.
 """
+from asyncio import Lock
 from pyrogram import filters
 from pyrogram.types import Message
 
@@ -31,15 +32,17 @@ from wbb.utils.filter_groups import trust_group
 
 spam_db = {}
 
+lock_access = Lock()
 
 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(

+ 1 - 0
wbb/modules/userbot.py

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

+ 1 - 1
wbb/utils/functions.py

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