|
1 | 1 | import re |
2 | 2 |
|
| 3 | +import httpx |
3 | 4 | from nonebot import get_plugin_config, on_command |
4 | 5 | from nonebot.adapters.onebot.v11 import MessageEvent, PrivateMessageEvent |
| 6 | +from nonebot.exception import FinishedException |
| 7 | +from nonebot.log import logger |
5 | 8 | from nonebot.params import ArgStr |
6 | 9 | from nonebot.permission import SUPERUSER |
7 | 10 | from nonebot.typing import T_State |
@@ -60,11 +63,10 @@ async def got_phone(event: MessageEvent, state: T_State, phone: str = ArgStr()): |
60 | 63 | if response and response.json().get("code", 0) == 200: |
61 | 64 | await ncm_login_cmd.send("验证码已发送,请查收短信。") |
62 | 65 | else: |
63 | | - await ncm_login_cmd.send("验证码发送失败,但仍可尝试输入验证码进行登录。") |
| 66 | + await ncm_login_cmd.send("验证码发送失败") |
64 | 67 |
|
65 | 68 | except Exception: |
66 | | - await ncm_login_cmd.send("验证码发送失败,但仍可尝试输入验证码进行登录。") # 强硬一点塞进去( |
67 | | - |
| 69 | + await ncm_login_cmd.send("验证码发送失败") |
68 | 70 | state["need_captcha"] = True |
69 | 71 |
|
70 | 72 |
|
@@ -107,8 +109,15 @@ async def handle_logout(event: MessageEvent): |
107 | 109 | await ncm_logout_cmd.finish("已成功退出网易云音乐账号。") |
108 | 110 | else: |
109 | 111 | await ncm_logout_cmd.finish("登出失败,请稍后重试。") |
110 | | - except Exception: |
111 | | - await ncm_logout_cmd.finish("登出过程中出现错误,请稍后重试。") |
| 112 | + except FinishedException: |
| 113 | + raise |
| 114 | + except httpx.TimeoutException: |
| 115 | + await ncm_logout_cmd.finish("登出请求超时,请稍后重试。") |
| 116 | + except httpx.ConnectError: |
| 117 | + await ncm_logout_cmd.finish("无法连接到服务器,请检查网络或服务器状态。") |
| 118 | + except Exception as e: |
| 119 | + logger.error(f"网易云登出时发生未预期错误: {e}", exc_info=True) |
| 120 | + await ncm_logout_cmd.finish(f"登出过程中出现错误: {str(e)},请稍后重试。") |
112 | 121 |
|
113 | 122 |
|
114 | 123 | async def is_ncm_logged_in(): |
|
0 commit comments