taslim19
commited on
Commit
·
ee4aeab
1
Parent(s):
98e44f0
fix: Resolve flooddb crash and correct admin permissions
Browse files
DragMusic/utils/database.py
CHANGED
@@ -1,8 +1,9 @@
|
|
1 |
import random
|
|
|
2 |
from typing import Dict, List, Union
|
3 |
|
4 |
from DragMusic import userbot
|
5 |
-
from DragMusic.core.mongo import mongodb
|
6 |
|
7 |
authdb = mongodb.adminauth
|
8 |
authuserdb = mongodb.authuser
|
@@ -19,7 +20,6 @@ onoffdb = mongodb.onoffper
|
|
19 |
playmodedb = mongodb.playmode
|
20 |
playtypedb = mongodb.playtypedb
|
21 |
skipdb = mongodb.skipmode
|
22 |
-
sudoersdb = mongodb.sudoers
|
23 |
usersdb = mongodb.tgusersdb
|
24 |
|
25 |
# Shifting to memory [mongo sucks often]
|
|
|
1 |
import random
|
2 |
+
from functools import wraps
|
3 |
from typing import Dict, List, Union
|
4 |
|
5 |
from DragMusic import userbot
|
6 |
+
from DragMusic.core.mongo import mongodb, flooddb, sudoersdb
|
7 |
|
8 |
authdb = mongodb.adminauth
|
9 |
authuserdb = mongodb.authuser
|
|
|
20 |
playmodedb = mongodb.playmode
|
21 |
playtypedb = mongodb.playtypedb
|
22 |
skipdb = mongodb.skipmode
|
|
|
23 |
usersdb = mongodb.tgusersdb
|
24 |
|
25 |
# Shifting to memory [mongo sucks often]
|
DragMusic/utils/decorators/admins.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
from pyrogram.enums import ChatType
|
2 |
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
|
3 |
|
4 |
from DragMusic import app
|
@@ -126,11 +126,17 @@ def AdminActual(mystic):
|
|
126 |
if message.from_user.id not in SUDOERS:
|
127 |
try:
|
128 |
member = await app.get_chat_member(message.chat.id, message.from_user.id)
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
|
|
|
|
133 |
|
|
|
|
|
|
|
134 |
return await mystic(client, message, _)
|
135 |
|
136 |
return wrapper
|
|
|
1 |
+
from pyrogram.enums import ChatType, ChatMemberStatus
|
2 |
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
|
3 |
|
4 |
from DragMusic import app
|
|
|
126 |
if message.from_user.id not in SUDOERS:
|
127 |
try:
|
128 |
member = await app.get_chat_member(message.chat.id, message.from_user.id)
|
129 |
+
|
130 |
+
if member.status == ChatMemberStatus.OWNER:
|
131 |
+
pass # Owner is always allowed
|
132 |
+
elif member.status == ChatMemberStatus.ADMINISTRATOR and member.privileges.can_promote_members:
|
133 |
+
pass # Admin with promote rights is allowed
|
134 |
+
else:
|
135 |
+
return await message.reply_text(_["admin_18"]) # "You don't have permission to promote users."
|
136 |
|
137 |
+
except Exception:
|
138 |
+
return await message.reply_text("You are not an admin in this chat.")
|
139 |
+
|
140 |
return await mystic(client, message, _)
|
141 |
|
142 |
return wrapper
|