From 8e315d53d38a65fb6f326794cfaf066df9b24907 Mon Sep 17 00:00:00 2001
From: Azide <rukuy@qq.com>
Date: Mon, 12 Sep 2022 02:33:49 +0800
Subject: [PATCH] =?UTF-8?q?fix=20test:=E4=BF=AE=E6=94=B9=E4=BA=86=E8=AE=A2?=
 =?UTF-8?q?=E9=98=85=E8=BF=87=E7=A8=8B=E4=B8=ADbot=E7=9A=84=E5=9B=9E?=
 =?UTF-8?q?=E5=A4=8D=E5=86=85=E5=AE=B9=E5=B9=B6=E8=B0=83=E6=95=B4=E5=8D=95?=
 =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/plugins/nonebot_bison/config_manager.py |  8 ++++++--
 tests/test_config_manager_add.py            | 16 +++++++++++++---
 tests/utils.py                              |  5 +++--
 3 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/src/plugins/nonebot_bison/config_manager.py b/src/plugins/nonebot_bison/config_manager.py
index ab81812..7703845 100644
--- a/src/plugins/nonebot_bison/config_manager.py
+++ b/src/plugins/nonebot_bison/config_manager.py
@@ -138,7 +138,7 @@ def do_add_sub(add_sub: Type[Matcher]):
             state["id"] = target
             state["name"] = name
         except (LookupError):
-            url = "https://nonebot-bison.vercel.app/usage/#%E6%89%80%E6%94%AF%E6%8C%81%E5%B9%B3%E5%8F%B0%E7%9A%84-uid"
+            url = "https://nonebot-bison.netlify.app/usage/#%E6%89%80%E6%94%AF%E6%8C%81%E5%B9%B3%E5%8F%B0%E7%9A%84-uid"
             title = "Bison所支持的平台UID"
             content = "查询相关平台的uid格式或获取方式"
             image = "https://s3.bmp.ovh/imgs/2022/03/ab3cc45d83bd3dd3.jpg"
@@ -183,13 +183,17 @@ def do_add_sub(add_sub: Type[Matcher]):
         if not platform_manager[state["platform"]].enable_tag:
             state["tags"] = []
             return
-        state["_prompt"] = '请输入要订阅的tag,订阅所有tag输入"全部标签"'
+        state["_prompt"] = '请输入要订阅/屏蔽的tag(不含#号)\n多个tag请使用空格隔开\n具体规则回复"详情"'
 
     async def parser_tags(event: MessageEvent, state: T_State):
         if not isinstance(state["tags"], Message):
             return
         if str(event.get_message()).strip() == "取消":  # 一般不会有叫 取消 的tag吧
             await add_sub.finish("已中止订阅")
+        if str(event.get_message()).strip() == "详情":
+            await add_sub.reject(
+                '订阅tag直接输入tag内容\n订阅所有tag输入"全部标签"\n屏蔽tag请在tag名称前添加~号\n详见https://nonebot-bison.netlify.app/usage/#平台订阅标签-tag'
+            )
         if str(event.get_message()).strip() == "全部标签":
             state["tags"] = []
         else:
diff --git a/tests/test_config_manager_add.py b/tests/test_config_manager_add.py
index 8064f0d..dcf63e5 100644
--- a/tests/test_config_manager_add.py
+++ b/tests/test_config_manager_add.py
@@ -1,3 +1,5 @@
+from email import message
+
 import pytest
 import respx
 from httpx import Response
@@ -154,12 +156,20 @@ async def test_add_with_target(app: App):
         )
         ctx.receive_event(bot, event_5_ok)
         ctx.should_call_send(event_5_ok, Message(BotReply.add_reply_on_tags), True)
-        event_6 = fake_group_message_event(
+        event_6_more_info = fake_group_message_event(
+            message=Message("详情"), sender=fake_admin_user
+        )
+        ctx.receive_event(bot, event_6_more_info)
+        ctx.should_call_send(
+            event_6_more_info, BotReply.add_reply_on_tags_need_more_info, True
+        )
+        ctx.should_rejected()
+        event_6_ok = fake_group_message_event(
             message=Message("全部标签"), sender=fake_admin_user
         )
-        ctx.receive_event(bot, event_6)
+        ctx.receive_event(bot, event_6_ok)
         ctx.should_call_send(
-            event_6, BotReply.add_reply_subscribe_success("明日方舟Arknights"), True
+            event_6_ok, BotReply.add_reply_subscribe_success("明日方舟Arknights"), True
         )
         ctx.should_finished()
     subs = config.list_subscribe(10000, "group")
diff --git a/tests/utils.py b/tests/utils.py
index 08bdbe2..003ed07 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -99,7 +99,7 @@ class BotReply:
 
     @staticmethod
     def add_reply_on_id_input_search():
-        search_url = "https://nonebot-bison.vercel.app/usage/#%E6%89%80%E6%94%AF%E6%8C%81%E5%B9%B3%E5%8F%B0%E7%9A%84-uid"
+        search_url = "https://nonebot-bison.netlify.app/usage/#%E6%89%80%E6%94%AF%E6%8C%81%E5%B9%B3%E5%8F%B0%E7%9A%84-uid"
         search_title = "Bison所支持的平台UID"
         search_content = "查询相关平台的uid格式或获取方式"
         search_image = "https://s3.bmp.ovh/imgs/2022/03/ab3cc45d83bd3dd3.jpg"
@@ -144,5 +144,6 @@ class BotReply:
     add_reply_on_id_input_error = "id输入错误"
     add_reply_on_target_parse_input_error = "不能从你的输入中提取出id,请检查你输入的内容是否符合预期"
     add_reply_on_platform_input_error = "平台输入错误"
-    add_reply_on_tags = '请输入要订阅的tag,订阅所有tag输入"全部标签"'
+    add_reply_on_tags = '请输入要订阅/屏蔽的tag(不含#号)\n多个tag请使用空格隔开\n具体规则回复"详情"'
+    add_reply_on_tags_need_more_info = '订阅tag直接输入tag内容\n订阅所有tag输入"全部标签"\n屏蔽tag请在tag名称前添加~号\n详见https://nonebot-bison.netlify.app/usage/#平台订阅标签-tag'
     add_reply_abort = "已中止订阅"