Files
plain-ub-overfork/app/plugins/tg_tools/delete.py
2024-12-03 15:49:03 +05:30

45 lines
1.2 KiB
Python

import asyncio
from ub_core.utils.helpers import create_chunks
from app import BOT, Message
from app.plugins.tg_tools.get_message import parse_link
@BOT.add_cmd(cmd="del")
async def delete_message(bot: BOT, message: Message) -> None:
"""
CMD: DEL
INFO: Delete the replied message.
FLAGS: -r to remotely delete a text using its link.
USAGE:
.del | .del -r t.me/......
"""
if "-r" in message.flags:
chat_id, message_id = parse_link(message.filtered_input)
await bot.delete_messages(chat_id=chat_id, message_ids=message_id, revoke=True)
return
await message.delete(reply=True)
@BOT.add_cmd(cmd="purge")
async def purge_(bot: BOT, message: Message) -> None:
start_message: int = message.reply_id
if not start_message:
await message.reply("reply to a message")
return
end_message: int = message.id
message_ids: list[int] = [
end_message,
*[i for i in range(int(start_message), int(end_message))],
]
for chunk in create_chunks(message_ids, chunk_size=25):
await bot.delete_messages(
chat_id=message.chat.id, message_ids=chunk, revoke=True
)
await asyncio.sleep(5)