mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
✨ 群组中广播时不发送到当前群组
This commit is contained in:
parent
2bbecd9062
commit
d5518bdc11
@ -46,7 +46,7 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
description="昭告天下!",
|
description="昭告天下!",
|
||||||
usage="""
|
usage="""
|
||||||
广播 [消息内容]
|
广播 [消息内容]
|
||||||
- 直接发送消息到所有群组
|
- 直接发送消息到除当前群组外的所有群组
|
||||||
- 支持文本、图片、@、表情、视频等多种消息类型
|
- 支持文本、图片、@、表情、视频等多种消息类型
|
||||||
- 示例:广播 你们好!
|
- 示例:广播 你们好!
|
||||||
- 示例:广播 [图片] 新活动开始啦!
|
- 示例:广播 [图片] 新活动开始啦!
|
||||||
@ -61,6 +61,10 @@ __plugin_meta__ = PluginMetadata(
|
|||||||
- 仅能撤回短时间内的消息
|
- 仅能撤回短时间内的消息
|
||||||
- 示例:广播撤回
|
- 示例:广播撤回
|
||||||
|
|
||||||
|
特性:
|
||||||
|
- 在群组中使用广播时,不会将消息发送到当前群组
|
||||||
|
- 在私聊中使用广播时,会发送到所有群组
|
||||||
|
|
||||||
别名:
|
别名:
|
||||||
- bc (广播的简写)
|
- bc (广播的简写)
|
||||||
- recall (广播撤回的别名)
|
- recall (广播撤回的别名)
|
||||||
|
|||||||
@ -520,8 +520,21 @@ async def get_broadcast_target_groups(
|
|||||||
"""获取广播目标群组和启用了广播功能的群组"""
|
"""获取广播目标群组和启用了广播功能的群组"""
|
||||||
target_groups = []
|
target_groups = []
|
||||||
all_groups, _ = await BroadcastManager.get_all_groups(bot)
|
all_groups, _ = await BroadcastManager.get_all_groups(bot)
|
||||||
target_groups = all_groups
|
|
||||||
logger.info("向所有群组广播", "广播", session=session)
|
current_group_id = None
|
||||||
|
if hasattr(session, "id2") and session.id2:
|
||||||
|
current_group_id = session.id2
|
||||||
|
|
||||||
|
if current_group_id:
|
||||||
|
target_groups = [
|
||||||
|
group for group in all_groups if group.group_id != current_group_id
|
||||||
|
]
|
||||||
|
logger.info(
|
||||||
|
f"向除当前群组({current_group_id})外的所有群组广播", "广播", session=session
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
target_groups = all_groups
|
||||||
|
logger.info("向所有群组广播", "广播", session=session)
|
||||||
|
|
||||||
if not target_groups:
|
if not target_groups:
|
||||||
await MessageUtils.build_message("没有找到符合条件的广播目标群组。").send(
|
await MessageUtils.build_message("没有找到符合条件的广播目标群组。").send(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user