PagerMaid_Plugins/fuck.py

130 lines
5.8 KiB
Python
Raw Permalink Normal View History

2021-06-09 05:49:21 +00:00
""" Pagermaid Plugins Fuck """
# ______ _
# | ___ \ | |
# | |_/ /__ _ __ | |_ __ _ ___ ___ _ __ ___
# | __/ _ \ '_ \| __/ _` |/ __/ _ \ '_ \ / _ \
# | | | __/ | | | || (_| | (_| __/ | | | __/
# \_| \___|_| |_|\__\__,_|\___\___|_| |_|\___|
#
from datetime import timedelta
from telethon.tl.types import ChannelParticipantsAdmins
2022-01-18 08:47:20 +00:00
from pagermaid import version
2021-06-09 05:49:21 +00:00
from pagermaid.listener import listener
2021-06-16 07:09:40 +00:00
from pagermaid.utils import alias_command
2021-06-09 05:49:21 +00:00
2021-06-16 07:09:40 +00:00
@listener(is_plugin=True, incoming=True, outgoing=True, command=alias_command("fuck"),
2021-06-09 05:49:21 +00:00
description="回复你要踢出的人或-fuck <TelegramID>")
async def fuck(context):
""" kick and ban this member """
reply = await context.get_reply_message()
if context.is_group:
if reply:
2021-09-15 12:56:09 +00:00
if reply.sender:
2021-12-05 08:40:39 +00:00
try:
if reply.sender.last_name is None:
reply_last_name = ''
else:
reply_last_name = reply.sender.last_name
except AttributeError:
try:
await context.edit('无法获取所回复的用户。')
except:
pass
return
2021-06-09 05:49:21 +00:00
else:
2021-09-15 12:56:09 +00:00
try:
await context.edit('无法获取所回复的用户。')
except:
pass
return
2021-08-16 14:32:42 +00:00
if context.sender:
2021-12-05 08:40:39 +00:00
try:
if context.sender.last_name is None:
context_last_name = ''
else:
context_last_name = context.sender.last_name
except AttributeError:
try:
await context.edit('无法获取所回复的用户。')
except:
pass
return
2021-06-09 05:49:21 +00:00
else:
2021-09-15 12:56:09 +00:00
try:
await context.edit('无法获取所回复的用户。')
except:
pass
2021-08-16 14:32:42 +00:00
return
2021-06-09 05:49:21 +00:00
admins = await context.client.get_participants(context.chat, filter=ChannelParticipantsAdmins)
if context.sender in admins:
try:
await context.client.edit_permissions(context.chat_id, reply.sender.id, view_messages=False)
await context.client.send_message(
context.chat_id,
f'[{reply.sender.first_name}{reply_last_name}](tg://user?id={reply.sender.id}) 已被踢出群聊',
2021-06-16 07:09:40 +00:00
reply_to=reply.id
2021-06-09 05:49:21 +00:00
)
await context.delete()
except:
pass
else:
try:
2021-06-16 07:09:40 +00:00
await context.client.edit_permissions(context.chat_id, context.sender.id, timedelta(seconds=60),
send_messages=False, send_media=False, send_stickers=False,
send_gifs=False, send_games=False, send_inline=False,
send_polls=False, invite_users=False, change_info=False,
pin_messages=False)
2021-06-09 05:49:21 +00:00
await context.client.send_message(
context.chat_id,
2021-06-16 07:09:40 +00:00
f'[{context.sender.first_name}{context_last_name}](tg://user?id={context.sender.id}) '
f'由于乱玩管理员命令 已被禁言60秒',
reply_to=context.id
2021-06-09 05:49:21 +00:00
)
await context.delete()
except:
pass
else:
if context.arguments == '':
return
else:
2021-06-19 07:15:43 +00:00
try:
userid = int(context.arguments)
2021-12-05 08:40:39 +00:00
if userid < 0:
return await context.edit('输入值错误。')
2021-06-19 07:15:43 +00:00
except ValueError:
await context.edit('输入值错误。')
return
2021-06-09 05:49:21 +00:00
admins = await context.client.get_participants(context.chat, filter=ChannelParticipantsAdmins)
if context.sender in admins:
try:
await context.client.edit_permissions(context.chat_id, userid, view_messages=False)
await context.client.send_message(
context.chat_id,
f'[{userid}](tg://user?id={userid}) 已被踢出群聊',
2021-06-16 07:09:40 +00:00
reply_to=context.id
2021-06-09 05:49:21 +00:00
)
await context.delete()
except:
pass
else:
try:
2021-06-16 07:09:40 +00:00
await context.client.edit_permissions(context.chat_id, context.sender.id, timedelta(seconds=60),
send_messages=False, send_media=False,
send_stickers=False, send_gifs=False, send_games=False,
send_inline=False, send_polls=False, invite_users=False,
change_info=False, pin_messages=False)
2021-06-09 05:49:21 +00:00
await context.client.send_message(
context.chat_id,
2021-06-16 07:09:40 +00:00
f'[{context.sender.first_name}{context.sender.last_name}](tg://user?id={context.sender.id}) '
f'由于乱玩管理员命令 已被禁言60秒',
reply_to=context.id
2021-06-09 05:49:21 +00:00
)
await context.delete()
except:
pass
else:
pass