fix&feat:修复回应所有戳一戳的问题;尝试增加不回答已撤回消息的功能(但似乎目前不起作用)

This commit is contained in:
HYY1116
2025-03-13 20:33:39 +08:00
parent 31b29cb3dd
commit 4489952777
4 changed files with 99 additions and 13 deletions

View File

@@ -8,6 +8,9 @@ from nonebot.adapters.onebot.v11 import (
PrivateMessageEvent,
NoticeEvent,
PokeNotifyEvent,
GroupRecallNoticeEvent,
FriendRecallNoticeEvent,
)
from ..memory_system.memory import hippocampus
@@ -114,6 +117,36 @@ class ChatBot:
is_emoji=False,
)
message_manager.add_message(bot_message)
if isinstance(event, GroupRecallNoticeEvent) or isinstance(event, FriendRecallNoticeEvent):
user_info = UserInfo(
user_id=event.user_id,
user_nickname=get_user_nickname(event.user_id) or None,
user_cardname=get_user_cardname(event.user_id) or None,
platform="qq",
)
message_cq = MessageRecvCQ(
message_id=None,
user_info=user_info,
raw_message=str("[撤回了一条消息]"),
group_info=None,
reply_message=None,
platform="qq",
)
message_json = message_cq.to_dict()
group_info = GroupInfo(group_id=event.group_id, group_name=None, platform="qq")
chat = await chat_manager.get_or_create_stream(
platform=user_info.platform, user_info=user_info, group_info=group_info
)
await self.storage.store_recalled_message(event.message_id, time.time(), chat)
message=MessageRecv(message_json)
message.update_chat_stream(chat)
await message.process()
async def handle_message(self, event: MessageEvent, bot: Bot) -> None:
"""处理收到的消息"""