fix(help): 严格过滤草稿(draft)、已结束(ended)及已暂停(paused)的活动
This commit is contained in:
@@ -129,12 +129,25 @@ async def _handle_activity(bot: V11Bot, event: GroupMessageEvent):
|
||||
await activity.finish(plugin_config.NoActivityStr)
|
||||
return
|
||||
|
||||
poster_items = [it for it in items if it.get("poster_url") or it.get("poster_path")]
|
||||
# 严格过滤出处于发布状态且未结束的活动,排除草稿(draft)、已结束(ended)、已暂停(paused)
|
||||
valid_items = []
|
||||
for it in items:
|
||||
lifecycle = str(it.get("lifecycle") or "").lower()
|
||||
pub_status = str(it.get("publication_status") or "").lower()
|
||||
if lifecycle == "ended" or pub_status in ("draft", "archived", "paused"):
|
||||
continue
|
||||
valid_items.append(it)
|
||||
|
||||
if not valid_items:
|
||||
await activity.finish(plugin_config.NoActivityStr)
|
||||
return
|
||||
|
||||
poster_items = [it for it in valid_items if it.get("poster_url") or it.get("poster_path")]
|
||||
|
||||
# 无海报时回退为文字列表
|
||||
if not poster_items:
|
||||
msg_lines = ["📢 当前运营活动:"]
|
||||
for it in items:
|
||||
for it in valid_items:
|
||||
name = it.get("活动名", "未知活动")
|
||||
start = it.get("活动开始时间", "")
|
||||
end = it.get("活动截止时间", "")
|
||||
|
||||
Reference in New Issue
Block a user