调整虚拟群组功能

This commit is contained in:
liuwei
2025-05-26 09:34:17 +08:00
parent e187f4e58a
commit 66fc931d3e

View File

@@ -42,7 +42,6 @@ class GroupVirtualPlugin(MessagePluginInterface):
self.data = None self.data = None
self.message_cache = set() # 用于防止消息循环转发 self.message_cache = set() # 用于防止消息循环转发
self.group_virtual_redis = None self.group_virtual_redis = None
self.bot: WechatAPIClient = None
def initialize(self, context: Dict[str, Any]) -> bool: def initialize(self, context: Dict[str, Any]) -> bool:
"""初始化插件""" """初始化插件"""
@@ -91,7 +90,7 @@ class GroupVirtualPlugin(MessagePluginInterface):
return len(chat_groups) > 0 return len(chat_groups) > 0
@plugin_stats_decorator(plugin_name="跨群聊天") @plugin_stats_decorator(plugin_name="跨群聊天")
def process_message(self, message: Dict[str, Any]) -> Tuple[bool, Optional[str]]: async def process_message(self, message: Dict[str, Any]) -> Tuple[bool, Optional[str]]:
"""处理消息""" """处理消息"""
roomid = message.get("roomid", "") roomid = message.get("roomid", "")
sender = message.get("sender", "") sender = message.get("sender", "")
@@ -120,11 +119,11 @@ class GroupVirtualPlugin(MessagePluginInterface):
# 处理每个虚拟聊天组的转发 # 处理每个虚拟聊天组的转发
for chat_group in chat_groups: for chat_group in chat_groups:
self._forward_message_in_chat_group(message, chat_group) await self._forward_message_in_chat_group(message, chat_group)
return True, "消息已转发" return True, "消息已转发"
def _forward_message_in_chat_group(self, message: Dict[str, Any], chat_group: Dict[str, Any]): async def _forward_message_in_chat_group(self, message: Dict[str, Any], chat_group: Dict[str, Any]):
"""在虚拟聊天组内转发消息""" """在虚拟聊天组内转发消息"""
roomid = message.get("roomid", "") roomid = message.get("roomid", "")
sender = message.get("sender", "") sender = message.get("sender", "")
@@ -156,7 +155,7 @@ class GroupVirtualPlugin(MessagePluginInterface):
# 转发到其他群 # 转发到其他群
for group in chat_group["groups"]: for group in chat_group["groups"]:
if group["id"] != roomid: # 不转发回源群 if group["id"] != roomid: # 不转发回源群
self.bot.send_text_message(group["id"], forward_content) await self.bot.send_text_message(group["id"], forward_content)
# 图片消息 暂时不支持。 # 图片消息 暂时不支持。
# elif msg_type == 3: # elif msg_type == 3: