PagerMaid_Plugins/atadmins_atall.py

75 lines
2.8 KiB
Python
Raw Permalink Normal View History

2020-08-11 17:57:57 +00:00
from telethon.tl.types import ChannelParticipantsAdmins
2022-01-18 08:47:20 +00:00
from pagermaid import version
2021-06-16 07:09:40 +00:00
from pagermaid.utils import alias_command
2020-08-11 17:57:57 +00:00
from pagermaid.listener import listener
import time
2021-06-16 07:09:40 +00:00
@listener(is_plugin=True, outgoing=True, command=alias_command("atadmins"),
2020-08-11 17:57:57 +00:00
description="一键 AT 本群管理员(仅在群组中有效)",
parameters="回复消息(可选) <要说的话(可选)>")
2020-08-11 17:57:57 +00:00
async def atadmins(context):
await context.edit('正在获取管理员列表中...')
chat = await context.get_chat()
try:
admins = await context.client.get_participants(chat, filter=ChannelParticipantsAdmins)
except:
await context.edit('请在群组中运行。')
return True
admin_list = []
if context.arguments == '':
say = '召唤本群所有管理员'
else:
say = context.arguments
for admin in admins:
if not admin.bot:
if admin.username is not None:
2021-06-16 07:09:40 +00:00
admin_list.extend(['@' + admin.username])
2020-08-11 17:57:57 +00:00
elif admin.first_name is not None:
admin_list.extend(['[' + admin.first_name + '](tg://user?id=' + str(admin.id) + ')'])
send_list = ' , '.join(admin_list)
reply = await context.get_reply_message()
if reply:
await reply.reply(f'{say}:\n{send_list}')
else:
await context.reply(f'{say}:\n{send_list}')
2020-08-11 17:57:57 +00:00
await context.delete()
2021-06-16 07:09:40 +00:00
@listener(is_plugin=True, outgoing=True, command=alias_command("atall"),
description="一键 AT 本群成员(仅在群组中有效)",
parameters="回复消息(可选) <要说的话(可选)>")
2020-08-11 17:57:57 +00:00
async def atall(context):
await context.edit('正在获取成员列表中...')
chat = await context.get_chat()
try:
users = await context.client.get_participants(chat)
except:
await context.edit('请在群组中运行。')
return True
user_list = []
if context.arguments == '':
say = '召唤本群所有成员'
else:
say = context.arguments
for user in users:
if not user.bot:
if len(user_list) < 128:
if user.username is not None:
2021-06-16 07:09:40 +00:00
user_list.extend(['@' + user.username])
2020-08-11 17:57:57 +00:00
elif user.first_name is not None:
user_list.extend(['[' + user.first_name + '](tg://user?id=' + str(user.id) + ')'])
else:
user_list_old = user_list
text = ' , '.join(user_list_old)
await context.reply("%s\n\n%s" % (say, text))
user_list = []
time.sleep(1)
text = ' , '.join(user_list)
reply = await context.get_reply_message()
if reply:
await reply.reply(f'{say}:\n{text}')
else:
await context.reply(f'{say}:\n{text}')
2020-08-11 17:57:57 +00:00
await context.delete()