thehamkercat před 5 roky
rodič
revize
b64387224b

+ 2 - 4
wbb/core/types/__init__.py

@@ -1,6 +1,4 @@
 # flake8: noqa
 
-from .InlineQueryResult import (
-    InlineQueryResultAudio,
-    InlineQueryResultCachedDocument,
-)
+from .InlineQueryResult import (InlineQueryResultAudio,
+                                InlineQueryResultCachedDocument)

+ 6 - 13
wbb/modules/admin.py

@@ -24,21 +24,14 @@ SOFTWARE.
 import asyncio
 
 from pyrogram import filters
-from pyrogram.types import (
-    ChatPermissions,
-    Message,
-    CallbackQuery,
-    InlineKeyboardMarkup,
-    InlineKeyboardButton,
-)
+from pyrogram.types import (CallbackQuery, ChatPermissions,
+                            InlineKeyboardButton, InlineKeyboardMarkup,
+                            Message)
+
 from wbb import BOT_ID, SUDOERS, app
 from wbb.core.decorators.errors import capture_err
-from wbb.utils.dbfunctions import (
-    add_warn,
-    get_warn,
-    int_to_alpha,
-    remove_warns,
-)
+from wbb.utils.dbfunctions import (add_warn, get_warn, int_to_alpha,
+                                   remove_warns)
 
 __MODULE__ = "Admin"
 __HELP__ = """/ban - Ban A User

+ 2 - 5
wbb/modules/antiservice.py

@@ -5,11 +5,8 @@ from pyrogram import filters
 
 from wbb import app
 from wbb.core.decorators.permissions import adminsOnly
-from wbb.utils.dbfunctions import (
-    antiservice_off,
-    antiservice_on,
-    is_antiservice_on,
-)
+from wbb.utils.dbfunctions import (antiservice_off, antiservice_on,
+                                   is_antiservice_on)
 
 __MODULE__ = "AntiService"
 __HELP__ = """

+ 3 - 5
wbb/modules/blacklist.py

@@ -30,11 +30,9 @@ from wbb import SUDOERS, app
 from wbb.core.decorators.errors import capture_err
 from wbb.core.decorators.permissions import adminsOnly
 from wbb.modules.admin import list_admins
-from wbb.utils.dbfunctions import (
-    delete_blacklist_filter,
-    get_blacklisted_words,
-    save_blacklist_filter,
-)
+from wbb.utils.dbfunctions import (delete_blacklist_filter,
+                                   get_blacklisted_words,
+                                   save_blacklist_filter)
 from wbb.utils.filter_groups import blacklist_filters_group
 
 __MODULE__ = "Blacklist"

+ 2 - 5
wbb/modules/blacklist_chat.py

@@ -3,11 +3,8 @@ from pyrogram.types import Message
 
 from wbb import SUDOERS, app
 from wbb.core.decorators.errors import capture_err
-from wbb.utils.dbfunctions import (
-    blacklist_chat,
-    blacklisted_chats,
-    whitelist_chat,
-)
+from wbb.utils.dbfunctions import (blacklist_chat, blacklisted_chats,
+                                   whitelist_chat)
 
 __MODULE__ = "Blacklist Chat"
 __HELP__ = """

+ 3 - 7
wbb/modules/chat_watcher.py

@@ -22,13 +22,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 """
 from wbb import app
-from wbb.utils.dbfunctions import (
-    add_served_chat,
-    add_served_user,
-    blacklisted_chats,
-    is_served_chat,
-    is_served_user,
-)
+from wbb.utils.dbfunctions import (add_served_chat, add_served_user,
+                                   blacklisted_chats, is_served_chat,
+                                   is_served_user)
 from wbb.utils.filter_groups import chat_watcher_group
 
 

+ 2 - 10
wbb/modules/chatbot.py

@@ -23,16 +23,8 @@ SOFTWARE.
 """
 from pyrogram import filters
 
-from wbb import (
-    BOT_ID,
-    SUDOERS,
-    USERBOT_ID,
-    USERBOT_PREFIX,
-    USERBOT_USERNAME,
-    app,
-    app2,
-    arq,
-)
+from wbb import (BOT_ID, SUDOERS, USERBOT_ID, USERBOT_PREFIX, USERBOT_USERNAME,
+                 app, app2, arq)
 from wbb.core.decorators.errors import capture_err
 from wbb.modules.userbot import edit_or_reply
 from wbb.utils.filter_groups import chatbot_group

+ 2 - 6
wbb/modules/filters.py

@@ -28,12 +28,8 @@ from pyrogram import filters
 from wbb import app
 from wbb.core.decorators.errors import capture_err
 from wbb.core.decorators.permissions import adminsOnly
-from wbb.utils.dbfunctions import (
-    delete_filter,
-    get_filter,
-    get_filters_names,
-    save_filter,
-)
+from wbb.utils.dbfunctions import (delete_filter, get_filter,
+                                   get_filters_names, save_filter)
 from wbb.utils.filter_groups import chat_filters_group
 
 __MODULE__ = "Filters"

+ 27 - 22
wbb/modules/flood.py

@@ -21,22 +21,18 @@ 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 pyrogram import filters
-from pyrogram.types import (
-    Message,
-    ChatPermissions,
-    CallbackQuery,
-    InlineKeyboardMarkup,
-    InlineKeyboardButton,
-)
 from time import time
 
-from wbb import app, SUDOERS
+from pyrogram import filters
+from pyrogram.types import (CallbackQuery, ChatPermissions,
+                            InlineKeyboardButton, InlineKeyboardMarkup,
+                            Message)
+
+from wbb import SUDOERS, app
 from wbb.core.decorators.errors import capture_err
 from wbb.modules.admin import list_admins, member_permissions
 from wbb.utils.filter_groups import flood_group
 
-
 __MODULE__ = "Flood"
 __HELP__ = """
 Anti-Flood system, the one who sends more than 7 messages in a row, gets muted for an hour.
@@ -47,38 +43,47 @@ Except for admins ofc, and no, you can't change the number of messages or action
 DB = {}  # NOTE Use mongodb instead of a fucking dict.
 
 
+def reset_flood(chat_id, user_id=0):
+    for user in DB[chat_id].keys():
+        if user != user_id:
+            DB[chat_id][user] = 0
+
+
 @app.on_message(
     ~filters.service
     & ~filters.me
     & ~filters.private
     & ~filters.channel
+    & ~filters.bot
     & ~filters.edited,
     group=flood_group,
 )
 @capture_err
 async def flood_control_func(_, message: Message):
+    chat_id = message.chat.id
+
+    # Initialize db if not already.
+    if chat_id not in DB:
+        DB[chat_id] = {}
+
     if not message.from_user:
+        reset_flood(chat_id)
         return
+
     user_id = message.from_user.id
     mention = message.from_user.mention
-    chat_id = message.chat.id
+
+    if user_id not in DB[chat_id]:
+        DB[chat_id][user_id] = 0
+
+    # Reset floodb of current chat if some other user sends a message
+    reset_flood(chat_id, user_id)
 
     # Ignore devs and admins
     mods = (await list_admins(chat_id)) + SUDOERS
     if user_id in mods:
         return
 
-    # Initialize db if not already.
-    if chat_id not in DB:
-        DB[chat_id] = {}
-    if user_id not in DB[chat_id]:
-        DB[chat_id][user_id] = 0
-
-    # Reset every other user's flood count if someone else sends a message.
-    for user in DB[chat_id].keys():
-        if user != user_id:
-            DB[chat_id][user] = 0
-
     # Mute if user sends more than 7 messages in a row
     if DB[chat_id][user_id] >= 7:
         DB[chat_id][user_id] = 0

+ 5 - 11
wbb/modules/global_stats.py

@@ -28,17 +28,11 @@ from pyrogram import filters
 from wbb import BOT_ID, BOT_NAME, SUDOERS, app
 from wbb.core.decorators.errors import capture_err
 from wbb.modules import ALL_MODULES
-from wbb.utils.dbfunctions import (
-    get_blacklist_filters_count,
-    get_filters_count,
-    get_gbans_count,
-    get_karmas_count,
-    get_notes_count,
-    get_served_chats,
-    get_served_users,
-    get_warns_count,
-    remove_served_chat,
-)
+from wbb.utils.dbfunctions import (get_blacklist_filters_count,
+                                   get_filters_count, get_gbans_count,
+                                   get_karmas_count, get_notes_count,
+                                   get_served_chats, get_served_users,
+                                   get_warns_count, remove_served_chat)
 from wbb.utils.fetch import fetch
 from wbb.utils.inlinefuncs import keywords_list
 

+ 8 - 22
wbb/modules/greetings.py

@@ -29,32 +29,18 @@ from random import shuffle
 
 from pykeyboard import InlineKeyboard
 from pyrogram import filters
-from pyrogram.errors.exceptions.bad_request_400 import (
-    ChatAdminRequired,
-    UserNotParticipant,
-)
-from pyrogram.types import (
-    ChatPermissions,
-    InlineKeyboardButton,
-    InlineKeyboardMarkup,
-    Message,
-    User,
-)
+from pyrogram.errors.exceptions.bad_request_400 import (ChatAdminRequired,
+                                                        UserNotParticipant)
+from pyrogram.types import (ChatPermissions, InlineKeyboardButton,
+                            InlineKeyboardMarkup, Message, User)
 
 from wbb import SUDOERS, WELCOME_DELAY_KICK_SEC, app
 from wbb.core.decorators.errors import capture_err
 from wbb.core.decorators.permissions import adminsOnly
-from wbb.utils.dbfunctions import (
-    captcha_off,
-    captcha_on,
-    del_welcome,
-    get_captcha_cache,
-    get_welcome,
-    is_captcha_on,
-    is_gbanned_user,
-    set_welcome,
-    update_captcha_cache,
-)
+from wbb.utils.dbfunctions import (captcha_off, captcha_on, del_welcome,
+                                   get_captcha_cache, get_welcome,
+                                   is_captcha_on, is_gbanned_user, set_welcome,
+                                   update_captcha_cache)
 from wbb.utils.filter_groups import welcome_captcha_group
 from wbb.utils.functions import generate_captcha
 

+ 3 - 10
wbb/modules/karma.py

@@ -29,16 +29,9 @@ from pyrogram import filters
 from wbb import app
 from wbb.core.decorators.errors import capture_err
 from wbb.core.decorators.permissions import adminsOnly
-from wbb.utils.dbfunctions import (
-    alpha_to_int,
-    get_karma,
-    get_karmas,
-    int_to_alpha,
-    is_karma_on,
-    karma_off,
-    karma_on,
-    update_karma,
-)
+from wbb.utils.dbfunctions import (alpha_to_int, get_karma, get_karmas,
+                                   int_to_alpha, is_karma_on, karma_off,
+                                   karma_on, update_karma)
 from wbb.utils.filter_groups import karma_negative_group, karma_positive_group
 
 __MODULE__ = "Karma"

+ 2 - 6
wbb/modules/notes.py

@@ -26,12 +26,8 @@ from pyrogram import filters
 from wbb import app
 from wbb.core.decorators.errors import capture_err
 from wbb.core.decorators.permissions import adminsOnly
-from wbb.utils.dbfunctions import (
-    delete_note,
-    get_note,
-    get_note_names,
-    save_note,
-)
+from wbb.utils.dbfunctions import (delete_note, get_note, get_note_names,
+                                   save_note)
 
 __MODULE__ = "Notes"
 __HELP__ = """/notes To Get All The Notes In The Chat.

+ 2 - 6
wbb/modules/pipes.py

@@ -28,12 +28,8 @@ from pyrogram.types import Message
 
 from wbb import BOT_ID, SUDOERS, USERBOT_ID, app, app2
 from wbb.core.decorators.errors import capture_err
-from wbb.utils.dbfunctions import (
-    activate_pipe,
-    deactivate_pipe,
-    is_pipe_active,
-    show_pipes,
-)
+from wbb.utils.dbfunctions import (activate_pipe, deactivate_pipe,
+                                   is_pipe_active, show_pipes)
 from wbb.utils.filter_groups import pipes_group
 
 __MODULE__ = "Pipes"

+ 2 - 5
wbb/modules/pmpermit.py

@@ -27,11 +27,8 @@ from pyrogram import filters
 from wbb import BOT_ID, SUDOERS, USERBOT_ID, USERBOT_PREFIX, app, app2
 from wbb.core.decorators.errors import capture_err
 from wbb.modules.userbot import edit_or_reply
-from wbb.utils.dbfunctions import (
-    approve_pmpermit,
-    disapprove_pmpermit,
-    is_pmpermit_approved,
-)
+from wbb.utils.dbfunctions import (approve_pmpermit, disapprove_pmpermit,
+                                   is_pmpermit_approved)
 
 flood = {}
 

+ 2 - 7
wbb/modules/rice.py

@@ -22,13 +22,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 """
 from pyrogram import filters
-from pyrogram.types import (
-    InlineKeyboardButton,
-    InlineKeyboardMarkup,
-    InputMediaPhoto,
-    InputMediaVideo,
-    Message,
-)
+from pyrogram.types import (InlineKeyboardButton, InlineKeyboardMarkup,
+                            InputMediaPhoto, InputMediaVideo, Message)
 
 from wbb import app
 from wbb.core.decorators.errors import capture_err

+ 3 - 8
wbb/modules/spam.py

@@ -22,19 +22,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 """
 from pyrogram import filters
-from pyrogram.types import (
-    Message,
-    CallbackQuery,
-    InlineKeyboardMarkup,
-    InlineKeyboardButton,
-)
+from pyrogram.types import (CallbackQuery, InlineKeyboardButton,
+                            InlineKeyboardMarkup, Message)
 
-from wbb import app, arq, SUDOERS, LOG_GROUP_ID
+from wbb import LOG_GROUP_ID, SUDOERS, app, arq
 from wbb.core.decorators.errors import capture_err
 from wbb.modules.admin import list_admins, member_permissions
 from wbb.utils.filter_groups import spam_protection_group
 
-
 __MODULE__ = "AntiSpam"
 __HELP__ = """
 **Antispam helps from protect your group from spam.**

+ 9 - 18
wbb/modules/stickers.py

@@ -26,28 +26,19 @@ import os
 from traceback import format_exc
 
 from pyrogram import filters
-from pyrogram.errors.exceptions.bad_request_400 import (
-    PeerIdInvalid,
-    ShortnameOccupyFailed,
-    StickerPngDimensions,
-    StickerPngNopng,
-    UserIsBlocked,
-)
+from pyrogram.errors.exceptions.bad_request_400 import (PeerIdInvalid,
+                                                        ShortnameOccupyFailed,
+                                                        StickerPngDimensions,
+                                                        StickerPngNopng,
+                                                        UserIsBlocked)
 from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
 
 from wbb import BOT_USERNAME, app
 from wbb.core.decorators.errors import capture_err
-from wbb.utils.files import (
-    get_document_from_file_id,
-    resize_file_to_sticker_size,
-    upload_document,
-)
-from wbb.utils.stickerset import (
-    add_sticker_to_set,
-    create_sticker,
-    create_sticker_set,
-    get_sticker_set_by_name,
-)
+from wbb.utils.files import (get_document_from_file_id,
+                             resize_file_to_sticker_size, upload_document)
+from wbb.utils.stickerset import (add_sticker_to_set, create_sticker,
+                                  create_sticker_set, get_sticker_set_by_name)
 
 __MODULE__ = "Stickers"
 __HELP__ = """/sticker_id - To Get File ID of A Sticker.

+ 5 - 15
wbb/modules/sudoers.py

@@ -29,23 +29,13 @@ import time
 import psutil
 from pyrogram import filters
 
-from wbb import (
-    BOT_ID,
-    GBAN_LOG_GROUP_ID,
-    SUDOERS,
-    USERBOT_USERNAME,
-    app,
-    bot_start_time,
-)
+from wbb import (BOT_ID, GBAN_LOG_GROUP_ID, SUDOERS, USERBOT_USERNAME, app,
+                 bot_start_time)
 from wbb.core.decorators.errors import capture_err
 from wbb.utils import formatter
-from wbb.utils.dbfunctions import (
-    add_gban_user,
-    get_served_chats,
-    is_gbanned_user,
-    remove_gban_user,
-    start_restart_stage,
-)
+from wbb.utils.dbfunctions import (add_gban_user, get_served_chats,
+                                   is_gbanned_user, remove_gban_user,
+                                   start_restart_stage)
 
 __MODULE__ = "Sudoers"
 __HELP__ = """

+ 2 - 10
wbb/modules/taglogger.py

@@ -25,16 +25,8 @@ from pykeyboard import InlineKeyboard
 from pyrogram import filters
 from pyrogram.types import InlineKeyboardButton, Message
 
-from wbb import (
-    BOT_ID,
-    LOG_GROUP_ID,
-    LOG_MENTIONS,
-    USERBOT_ID,
-    USERBOT_NAME,
-    USERBOT_USERNAME,
-    app,
-    app2,
-)
+from wbb import (BOT_ID, LOG_GROUP_ID, LOG_MENTIONS, USERBOT_ID, USERBOT_NAME,
+                 USERBOT_USERNAME, app, app2)
 from wbb.core.decorators.errors import capture_err
 from wbb.utils.filter_groups import taglog_group
 

+ 2 - 8
wbb/modules/trust.py

@@ -24,14 +24,8 @@ SOFTWARE.
 from pyrogram import filters
 from pyrogram.types import Message
 
-from wbb import (
-    BOT_ID,
-    MESSAGE_DUMP_CHAT,
-    USERBOT_BOT_CHAT_DIFFERENCE,
-    app,
-    app2,
-    arq,
-)
+from wbb import (BOT_ID, MESSAGE_DUMP_CHAT, USERBOT_BOT_CHAT_DIFFERENCE, app,
+                 app2, arq)
 from wbb.utils.dbfunctions import get_trust_db, update_trust_db
 from wbb.utils.filter_groups import trust_group
 

+ 5 - 18
wbb/utils/inlinefuncs.py

@@ -34,26 +34,13 @@ from pykeyboard import InlineKeyboard
 from pyrogram import __version__ as pyrover
 from pyrogram import filters
 from pyrogram.raw.functions import Ping
-from pyrogram.types import (
-    InlineKeyboardButton,
-    InlineQueryResultArticle,
-    InlineQueryResultPhoto,
-    InputTextMessageContent,
-)
+from pyrogram.types import (InlineKeyboardButton, InlineQueryResultArticle,
+                            InlineQueryResultPhoto, InputTextMessageContent)
 from search_engine_parser import GoogleSearch
 
-from wbb import (
-    BOT_USERNAME,
-    MESSAGE_DUMP_CHAT,
-    SUDOERS,
-    USERBOT_ID,
-    USERBOT_NAME,
-    USERBOT_USERNAME,
-    aiohttpsession,
-    app,
-    app2,
-    arq,
-)
+from wbb import (BOT_USERNAME, MESSAGE_DUMP_CHAT, SUDOERS, USERBOT_ID,
+                 USERBOT_NAME, USERBOT_USERNAME, aiohttpsession, app, app2,
+                 arq)
 from wbb.core.types import InlineQueryResultCachedDocument
 from wbb.modules.info import get_chat_info, get_user_info
 from wbb.modules.music import download_youtube_audio