From 3ce1eb94a07e5b0f6be46edeb5309ce8f0e7464d Mon Sep 17 00:00:00 2001 From: yzhh <31803608+OasisAkari@users.noreply.github.com> Date: Mon, 6 Feb 2023 18:48:09 +0800 Subject: [PATCH] update --- bots/aiocqhttp/message.py | 13 +++++++------ bots/aiogram/message.py | 2 +- bots/discord/message.py | 2 +- core/types/message/__init__.py | 3 ++- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/bots/aiocqhttp/message.py b/bots/aiocqhttp/message.py index 441789d5..afc47481 100644 --- a/bots/aiocqhttp/message.py +++ b/bots/aiocqhttp/message.py @@ -31,11 +31,12 @@ class FinishedSession(FinS): """ 用于删除这条消息。 """ - try: - for x in self.messageId: - await bot.call_action('delete_msg', message_id=x) - except Exception: - Logger.error(traceback.format_exc()) + if self.session.target.targetFrom in ['QQ|Group', 'QQ']: + try: + for x in self.messageId: + await bot.call_action('delete_msg', message_id=x) + except Exception: + Logger.error(traceback.format_exc()) last_send_typing_time = {} @@ -86,7 +87,7 @@ class MessageSession(MS): channel_id=int(match_guild.group(2)), message=msg) else: send = await bot.send_private_msg(user_id=self.session.target, message=msg) - return FinishedSession(send['message_id'], [send]) + return FinishedSession(self, send['message_id'], [send]) async def checkPermission(self): if self.target.targetFrom == 'QQ' \ diff --git a/bots/aiogram/message.py b/bots/aiogram/message.py index 0ea97069..25cf59be 100644 --- a/bots/aiogram/message.py +++ b/bots/aiogram/message.py @@ -88,7 +88,7 @@ class MessageSession(MS): msgIds = [] for x in send: msgIds.append(x.message_id) - return FinishedSession(msgIds, send) + return FinishedSession(self, msgIds, send) async def checkPermission(self): if self.session.message.chat.type == 'private' or self.target.senderId in self.custom_admins \ diff --git a/bots/discord/message.py b/bots/discord/message.py index bfa76d30..50a9d7d1 100644 --- a/bots/discord/message.py +++ b/bots/discord/message.py @@ -102,7 +102,7 @@ class MessageSession(MS): for x in send: msgIds.append(x.id) - return FinishedSession(msgIds, send) + return FinishedSession(self, msgIds, send) async def checkPermission(self): if self.session.message.channel.permissions_for(self.session.message.author).administrator \ diff --git a/core/types/message/__init__.py b/core/types/message/__init__.py index ea5ad32e..cd846652 100644 --- a/core/types/message/__init__.py +++ b/core/types/message/__init__.py @@ -56,7 +56,8 @@ class AutoSession(Session): class FinishedSession: - def __init__(self, messageId: Union[List[int], List[str], int, str], result): + def __init__(self, session, messageId: Union[List[int], List[str], int, str], result): + self.session = session if isinstance(messageId, (int, str)): messageId = [messageId] self.messageId = messageId