perfect: BarkMsg

This commit is contained in:
Akimio521
2025-02-12 10:09:28 +08:00
parent e6fafba622
commit 99c3de8b63
2 changed files with 23 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
from typing import Any, List, Dict, Tuple
from urllib.parse import quote_plus
from urllib.parse import parse_qs
from app.core.event import eventmanager, Event
from app.log import logger
@@ -16,7 +16,7 @@ class BarkMsg(_PluginBase):
# 插件图标
plugin_icon = "Bark_A.png"
# 插件版本
plugin_version = "1.2"
plugin_version = "1.3"
# 插件作者
plugin_author = "jxxghp"
# 作者主页
@@ -217,23 +217,25 @@ class BarkMsg(_PluginBase):
try:
if not self._server or not self._apikey:
return False, "参数未配置"
for apikey in self._apikey.split():
sc_url = "%s/%s/%s/%s" % (self._server, apikey, quote_plus(title), quote_plus(text))
if self._params:
sc_url = "%s?%s" % (sc_url, self._params)
res = RequestUtils().post_res(sc_url)
if res and res.status_code == 200:
ret_json = res.json()
code = ret_json['code']
message = ret_json['message']
if code == 200:
logger.info(f"{apikey} Bark消息发送成功")
else:
logger.warn(f"{apikey} Bark消息发送失败{message}")
elif res is not None:
logger.warn(f"{apikey} Bark消息发送失败错误码{res.status_code},错误原因:{res.reason}")
req_body = {k: v[0] for k, v in parse_qs(self._params).items()}
req_body.update({
"title": title,
"body": text,
"device_keys": self._apikey.split(),
})
res = RequestUtils().post_res(f"{self._server}/push", json=req_body)
if res and res.status_code == 200:
ret_json = res.json()
code = ret_json['code']
message = ret_json['message']
if code == 200:
logger.info(f"Bark消息发送成功")
else:
logger.warn(f"{apikey} Bark消息发送失败未获取到返回信息")
logger.warn(f"Bark消息发送失败{message}")
elif res is not None:
logger.warn(f"Bark消息发送失败错误码{res.status_code},错误原因:{res.reason}")
else:
logger.warn(f"Bark消息发送失败未获取到返回信息")
except Exception as msg_e:
logger.error(f"Bark消息发送失败{str(msg_e)}")