Commit e8c37bf
Changed files (4)
src
src/asr/voice_recognition.py
@@ -1,6 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-import contextlib
import io
import re
from pathlib import Path
@@ -21,7 +20,7 @@ from config import CAPTION_LENGTH, PREFIX, TEXT_LENGTH
from messages.parser import parse_msg
from messages.progress import modify_progress
from messages.sender import send2tg
-from messages.utils import blockquote, count_without_entities, equal_prefix, get_reply_to, startswith_prefix
+from messages.utils import blockquote, count_without_entities, delete_message, equal_prefix, get_reply_to, startswith_prefix
from multimedia import convert_to_audio, parse_media_info
from publish import publish_telegraph
from utils import rand_string, to_int
@@ -171,10 +170,9 @@ async def voice_to_text(
)
await modify_progress(del_status=True, **kwargs)
- with contextlib.suppress(Exception):
- [await modify_progress(msg, del_status=True) for msg in res.get("sent_messages", [])]
- if this_info["mtype"] == "text":
- await message.delete()
+ [await delete_message(msg) for msg in res.get("sent_messages", [])]
+ if this_info["mtype"] == "text":
+ await delete_message(message)
async def asr_file(
src/messages/progress.py
@@ -9,7 +9,7 @@ from pyrogram.errors import FloodWait, MessageNotModified
from pyrogram.types import Message
from config import TEXT_LENGTH, cache
-from messages.utils import smart_split
+from messages.utils import delete_message, smart_split
async def modify_progress(
@@ -43,12 +43,12 @@ async def modify_progress(
message = kwargs.get("progress")
if not isinstance(message, Message):
return
+ if del_status:
+ logger.info("Deleting progress message")
+ await asyncio.sleep(del_delay)
+ await delete_message(message)
+ return
try:
- if del_status:
- logger.info("Deleting progress message")
- await asyncio.sleep(del_delay)
- await message.delete()
- return
if not text:
return
if cache.get("modify_progress"): # DO NOT update too frequently
src/messages/utils.py
@@ -228,3 +228,10 @@ async def set_reaction(client: Client, message: Message, reaction: str | list[st
await client.set_reaction(message.chat.id, message.id, reaction=emojis) # type: ignore
else:
await client.set_reaction(message.chat.id, message.id)
+
+
+async def delete_message(message: Message):
+ if not isinstance(message, Message):
+ return
+ with contextlib.suppress(Exception):
+ await message.delete()
src/others/favorite.py
@@ -1,6 +1,5 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-import contextlib
import re
from loguru import logger
@@ -11,7 +10,7 @@ from config import DB, FAVORITE
from database.r2 import get_cf_r2, set_cf_r2
from messages.parser import parse_msg
from messages.sender import send2tg
-from messages.utils import equal_prefix, set_reaction, startswith_prefix
+from messages.utils import delete_message, equal_prefix, set_reaction, startswith_prefix
from utils import slim_cid, strings_list, to_int
HELP = f"""⭐️**收藏消息**
@@ -104,9 +103,8 @@ async def save_favorite(client: Client, message: Message, **kwargs):
await set_reaction(client, message, reaction="💔")
return
logger.success(f"【{key}】已保存到收藏")
- with contextlib.suppress(Exception):
- await set_reaction(client, message, reaction="✍️")
- await message.delete()
+ await set_reaction(client, message, reaction="✍️")
+ await delete_message(message)
async def send_favorite(client: Client, message: Message, **kwargs):
@@ -156,5 +154,4 @@ async def send_favorite(client: Client, message: Message, **kwargs):
await set_reaction(client, message)
else:
await set_reaction(client, message, reaction="💔")
- with contextlib.suppress(Exception):
- await message.delete()
+ await delete_message(message)