d4rktg 0.6.2__py3-none-any.whl → 0.6.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- d4rk/Handlers/_bot.py +4 -1
- d4rk/Models/_commands.py +2 -2
- d4rk/Utils/_round.py +1 -4
- {d4rktg-0.6.2.dist-info → d4rktg-0.6.4.dist-info}/METADATA +1 -1
- {d4rktg-0.6.2.dist-info → d4rktg-0.6.4.dist-info}/RECORD +7 -7
- {d4rktg-0.6.2.dist-info → d4rktg-0.6.4.dist-info}/WHEEL +0 -0
- {d4rktg-0.6.2.dist-info → d4rktg-0.6.4.dist-info}/top_level.txt +0 -0
d4rk/Handlers/_bot.py
CHANGED
@@ -31,6 +31,7 @@ class BotManager(Client):
|
|
31
31
|
|
32
32
|
|
33
33
|
def create_client(self,app_name,token):
|
34
|
+
self.app_name = app_name
|
34
35
|
super().__init__(
|
35
36
|
name=app_name,
|
36
37
|
api_id=self.api_id,
|
@@ -44,7 +45,7 @@ class BotManager(Client):
|
|
44
45
|
logger.info(f"FloodWait: Sleeping for {wait_time} seconds.")
|
45
46
|
|
46
47
|
await asyncio.sleep(wait_time)
|
47
|
-
try:
|
48
|
+
try:self.powerup(self.app_name)
|
48
49
|
except AccessTokenExpired:pass
|
49
50
|
|
50
51
|
def _safe_async(self, coro_func):
|
@@ -85,6 +86,8 @@ class BotManager(Client):
|
|
85
86
|
except FloodWait as e:
|
86
87
|
logger.error(f"FloodWait: {e.value} seconds")
|
87
88
|
await self.handle_flood_wait(e.value)
|
89
|
+
break
|
90
|
+
|
88
91
|
except AccessTokenExpired:
|
89
92
|
logger.error(f"Access token expired (attempt {attempt + 1})")
|
90
93
|
except Exception as e:
|
d4rk/Models/_commands.py
CHANGED
@@ -39,9 +39,9 @@ def command(command: Union[str, list], description: str,Custom_filter=None):
|
|
39
39
|
})
|
40
40
|
logger.info(f"Registered command: {command} - {description}")
|
41
41
|
if Custom_filter:
|
42
|
-
filter = filters.command(command) & Custom_filter
|
42
|
+
filter = filters.command(command, prefixes=["/"]) & Custom_filter
|
43
43
|
else:
|
44
|
-
filter = filters.command(command)
|
44
|
+
filter = filters.command(command, prefixes=["/"])
|
45
45
|
@Client.on_message(filter)
|
46
46
|
@wraps(func)
|
47
47
|
async def wrapper(client, message):
|
d4rk/Utils/_round.py
CHANGED
@@ -2,6 +2,7 @@ from functools import wraps
|
|
2
2
|
from pyrogram import filters
|
3
3
|
from pyrogram.types import Message
|
4
4
|
import asyncio
|
5
|
+
import re
|
5
6
|
|
6
7
|
# Track last bot index per chat
|
7
8
|
last_index_per_chat = {}
|
@@ -30,18 +31,14 @@ def round():
|
|
30
31
|
bot_order_per_chat[chat_id].append(client.me.id)
|
31
32
|
|
32
33
|
async with chat_locks[chat_id]:
|
33
|
-
# Skip if message already responded
|
34
34
|
if msg_id in responded_messages[chat_id]:
|
35
35
|
return False
|
36
36
|
|
37
|
-
# Decide which bot should respond
|
38
37
|
current_index = last_index_per_chat[chat_id]
|
39
38
|
selected_bot_id = bot_order_per_chat[chat_id][current_index]
|
40
39
|
|
41
40
|
if client.me.id == selected_bot_id:
|
42
|
-
# Mark message as responded
|
43
41
|
responded_messages[chat_id].add(msg_id)
|
44
|
-
# Rotate for next message
|
45
42
|
last_index_per_chat[chat_id] = (current_index + 1) % len(bot_order_per_chat[chat_id])
|
46
43
|
return True
|
47
44
|
return False
|
@@ -2,12 +2,12 @@ d4rk/__init__.py,sha256=Xq5qqX-FwosTJBLrSPF53FPD6fEISH750hbImZpSu5k,202
|
|
2
2
|
d4rk/Database/__init__.py,sha256=TQB5D8PBDCq80jPq6rsC2G939yYYKTh_bCcOWsZ-nA8,18
|
3
3
|
d4rk/Database/db.py,sha256=5T-dbHPQp9JF2rQb707SLSSkAaz8ghX4lO7g_Siy7oA,1870
|
4
4
|
d4rk/Handlers/__init__.py,sha256=lO1b7Tnu3GWgwcJmX5qepiNqaBBi6qTgjj0SlzVUyEA,63
|
5
|
-
d4rk/Handlers/_bot.py,sha256=
|
5
|
+
d4rk/Handlers/_bot.py,sha256=LDcj54ikmNHFbVwPHknCIxBRxxlE2GjMUeW89f4cNU0,9188
|
6
6
|
d4rk/Handlers/_scheduler.py,sha256=AyqexO4nxZlIzRfU9vWTfJtTWQVQmP4de7GRPg-3JkA,1236
|
7
7
|
d4rk/Logs/__init__.py,sha256=mXWD5jXnyH3_AvS7K_ki3iw5BpoEAvrDFbmr-iEFNnY,22
|
8
8
|
d4rk/Logs/_logger.py,sha256=lqfVvCO0vZ_IaGOdIE4HA2KAUQZh7yW2iAHZcBz7F4o,4120
|
9
9
|
d4rk/Models/__init__.py,sha256=7bYM2c5Uk_VEg7NxIGH2EcEXGcAguwxvH23-Gy1orMM,100
|
10
|
-
d4rk/Models/_commands.py,sha256=
|
10
|
+
d4rk/Models/_commands.py,sha256=SfgE_8crh-gbyOmKkHMdilaUC_k0XQW3LKFK2MKp1wo,3001
|
11
11
|
d4rk/Models/_movie_title.py,sha256=Xp8eafBP-kD3MxAdeNcb7EyiAojn5fDQ18la7vxrg10,812
|
12
12
|
d4rk/Utils/__init__.py,sha256=nWnDrvTJ8BgbqEE9aiVOcT8JoxK6P4XvP9_rgUwEHXs,333
|
13
13
|
d4rk/Utils/_decorators.py,sha256=cVM4GUAqeKT1CECgKhmmGf3NKCtGmNKG9grNNn2cozY,2701
|
@@ -16,9 +16,9 @@ d4rk/Utils/_fonts.py,sha256=CQsDqPgvp27t3f75Cxod0EmZogEssLwIpyesH-YY5KM,7518
|
|
16
16
|
d4rk/Utils/_ip.py,sha256=KJJW2QSngshIVWCO5YPXF1wj4IPQzVN5oFofpfzlU5w,559
|
17
17
|
d4rk/Utils/_movie_parser.py,sha256=QEPd3z04p4pk2vxZ-2fYlRxHmQbmwQd2mCIlBsBM5AY,7039
|
18
18
|
d4rk/Utils/_ractions.py,sha256=wOVPyoFnbDuMgoP6NF_gLO1DYcfhERC0trdAK1jWSE8,2170
|
19
|
-
d4rk/Utils/_round.py,sha256=
|
19
|
+
d4rk/Utils/_round.py,sha256=6jEEmWOWbwXiB0LGLS0HfG4XiVAznlKUwhzIEGBP-Gw,3289
|
20
20
|
d4rk/Utils/_terminal.py,sha256=Anu4OcffY3v6LMOrCskP1cHrJIliomo1Hjownbhh2sQ,125
|
21
|
-
d4rktg-0.6.
|
22
|
-
d4rktg-0.6.
|
23
|
-
d4rktg-0.6.
|
24
|
-
d4rktg-0.6.
|
21
|
+
d4rktg-0.6.4.dist-info/METADATA,sha256=isNF10O8nuax5DFPwBaEdZB0HsPuNpIaKGOLEe4dXK8,652
|
22
|
+
d4rktg-0.6.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
23
|
+
d4rktg-0.6.4.dist-info/top_level.txt,sha256=qs1qTnKWImmGi7E0FoJS0OAEOHoVZA9vHRS3Pm6ncAo,5
|
24
|
+
d4rktg-0.6.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|