mirror of
https://github.com/TeamPGM/PagerMaid_Plugins.git
synced 2024-11-22 08:27:38 +00:00
dme 简化代码量
This commit is contained in:
parent
800acfb6bd
commit
4805ecfd50
64
dme.py
64
dme.py
@ -1,70 +1,12 @@
|
|||||||
""" Module to automate message deletion. """
|
""" Module to automate message deletion. """
|
||||||
from asyncio import sleep
|
|
||||||
from pagermaid import log
|
|
||||||
from pagermaid.listener import listener
|
from pagermaid.listener import listener
|
||||||
from pagermaid.utils import alias_command, lang
|
from pagermaid.utils import alias_command, lang
|
||||||
|
from pagermaid.modules.prune import selfprune
|
||||||
|
|
||||||
|
|
||||||
@listener(is_plugin=False, outgoing=True, command=alias_command("dme"),
|
@listener(is_plugin=False, outgoing=True, command=alias_command("dme"),
|
||||||
description=lang('sp_des'),
|
description=lang('sp_des'),
|
||||||
parameters=lang('sp_parameters'))
|
parameters=lang('sp_parameters'))
|
||||||
async def selfprune(context):
|
async def dme(context):
|
||||||
""" Deletes specific amount of messages you sent. """
|
""" Deletes specific amount of messages you sent. """
|
||||||
msgs = []
|
await selfprune(context)
|
||||||
count_buffer = 0
|
|
||||||
if not len(context.parameter) == 1:
|
|
||||||
if not context.reply_to_msg_id:
|
|
||||||
await context.edit(lang('arg_error'))
|
|
||||||
return
|
|
||||||
async for msg in context.client.iter_messages(
|
|
||||||
context.chat_id,
|
|
||||||
from_user="me",
|
|
||||||
min_id=context.reply_to_msg_id,
|
|
||||||
):
|
|
||||||
msgs.append(msg)
|
|
||||||
count_buffer += 1
|
|
||||||
if len(msgs) == 100:
|
|
||||||
await context.client.delete_messages(context.chat_id, msgs)
|
|
||||||
msgs = []
|
|
||||||
if msgs:
|
|
||||||
await context.client.delete_messages(context.chat_id, msgs)
|
|
||||||
if count_buffer == 0:
|
|
||||||
await context.delete()
|
|
||||||
count_buffer += 1
|
|
||||||
await log(f"{lang('prune_hint1')}{lang('sp_hint')} {str(count_buffer)} {lang('prune_hint2')}")
|
|
||||||
notification = await send_prune_notify(context, count_buffer, count_buffer)
|
|
||||||
await sleep(1)
|
|
||||||
await notification.delete()
|
|
||||||
return
|
|
||||||
try:
|
|
||||||
count = int(context.parameter[0])
|
|
||||||
await context.delete()
|
|
||||||
except ValueError:
|
|
||||||
await context.edit(lang('arg_error'))
|
|
||||||
return
|
|
||||||
async for message in context.client.iter_messages(context.chat_id, from_user="me"):
|
|
||||||
if count_buffer == count:
|
|
||||||
break
|
|
||||||
msgs.append(message)
|
|
||||||
count_buffer += 1
|
|
||||||
if len(msgs) == 100:
|
|
||||||
await context.client.delete_messages(context.chat_id, msgs)
|
|
||||||
msgs = []
|
|
||||||
if msgs:
|
|
||||||
await context.client.delete_messages(context.chat_id, msgs)
|
|
||||||
await log(f"{lang('prune_hint1')}{lang('sp_hint')} {str(count_buffer)} / {str(count)} {lang('prune_hint2')}")
|
|
||||||
try:
|
|
||||||
notification = await send_prune_notify(context, count_buffer, count)
|
|
||||||
await sleep(1)
|
|
||||||
await notification.delete()
|
|
||||||
except ValueError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
async def send_prune_notify(context, count_buffer, count):
|
|
||||||
return await context.client.send_message(
|
|
||||||
context.chat_id,
|
|
||||||
lang('spn_deleted')
|
|
||||||
+ str(count_buffer) + " / " + str(count)
|
|
||||||
+ lang('prune_hint2')
|
|
||||||
)
|
|
||||||
|
@ -832,10 +832,10 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dme",
|
"name": "dme",
|
||||||
"version": "1.2",
|
"version": "1.201",
|
||||||
"section": "chat",
|
"section": "chat",
|
||||||
"maintainer": "xtaodada",
|
"maintainer": "xtaodada",
|
||||||
"size": "4.3 kb",
|
"size": "0.4 kb",
|
||||||
"supported": true,
|
"supported": true,
|
||||||
"des-short": "删除当前对话您发送的特定数量的消息。",
|
"des-short": "删除当前对话您发送的特定数量的消息。",
|
||||||
"des": "删除当前对话您发送的特定数量的消息。"
|
"des": "删除当前对话您发送的特定数量的消息。"
|
||||||
|
Loading…
Reference in New Issue
Block a user