taslim19 commited on
Commit
67b5fbf
·
1 Parent(s): ee4aeab

fix: Correct demote crash, format admin list, and fix db init

Browse files
DragMusic/core/mongo.py CHANGED
@@ -8,8 +8,8 @@ LOGGER(__name__).info("Connecting to your Mongo Database...")
8
  try:
9
  _mongo_async_ = AsyncIOMotorClient(MONGO_DB_URI)
10
  mongodb = _mongo_async_.Anon
11
- flooddb = _mongo_async_.Flood
12
- sudoersdb = _mongo_async_.Sudoers
13
  LOGGER(__name__).info("Connected to your Mongo Database.")
14
  except:
15
  LOGGER(__name__).error("Failed to connect to your Mongo Database.")
 
8
  try:
9
  _mongo_async_ = AsyncIOMotorClient(MONGO_DB_URI)
10
  mongodb = _mongo_async_.Anon
11
+ flooddb = mongodb.Flood
12
+ sudoersdb = mongodb.Sudoers
13
  LOGGER(__name__).info("Connected to your Mongo Database.")
14
  except:
15
  LOGGER(__name__).error("Failed to connect to your Mongo Database.")
DragMusic/plugins/management/admins.py CHANGED
@@ -1,5 +1,5 @@
1
  from pyrogram import filters
2
- from pyrogram.types import Message
3
  from pyrogram.enums import ChatMembersFilter
4
  from pyrogram.errors import PeerIdInvalid
5
 
@@ -49,13 +49,7 @@ async def demote_user(client, message: Message, _):
49
  await client.promote_chat_member(
50
  message.chat.id,
51
  target_user.id,
52
- can_manage_chat=False,
53
- can_change_info=False,
54
- can_delete_messages=False,
55
- can_restrict_members=False,
56
- can_pin_messages=False,
57
- can_promote_members=False,
58
- can_manage_video_chats=False,
59
  )
60
  await message.reply_text(f"Successfully demoted {target_user.mention}.")
61
  except Exception as e:
@@ -64,11 +58,13 @@ async def demote_user(client, message: Message, _):
64
  @app.on_message(filters.command("adminlist") & filters.group)
65
  async def admin_list(client, message: Message):
66
  admin_list = []
 
67
  async for admin in client.get_chat_members(message.chat.id, filter=ChatMembersFilter.ADMINISTRATORS):
68
- admin_list.append(f"- {admin.user.mention}")
 
69
 
70
  if admin_list:
71
- await message.reply_text("Admins in this chat:\\n" + "\\n".join(admin_list))
72
  else:
73
  await message.reply_text("No admins found in this chat.")
74
 
 
1
  from pyrogram import filters
2
+ from pyrogram.types import Message, ChatPermissions
3
  from pyrogram.enums import ChatMembersFilter
4
  from pyrogram.errors import PeerIdInvalid
5
 
 
49
  await client.promote_chat_member(
50
  message.chat.id,
51
  target_user.id,
52
+ privileges=ChatPermissions(can_manage_chat=False)
 
 
 
 
 
 
53
  )
54
  await message.reply_text(f"Successfully demoted {target_user.mention}.")
55
  except Exception as e:
 
58
  @app.on_message(filters.command("adminlist") & filters.group)
59
  async def admin_list(client, message: Message):
60
  admin_list = []
61
+ index = 1
62
  async for admin in client.get_chat_members(message.chat.id, filter=ChatMembersFilter.ADMINISTRATORS):
63
+ admin_list.append(f"{index}. {admin.user.mention}")
64
+ index += 1
65
 
66
  if admin_list:
67
+ await message.reply_text("Admins in this chat:\\n\\n" + "\\n".join(admin_list))
68
  else:
69
  await message.reply_text("No admins found in this chat.")
70