55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
"""消息通知模块 - 通过爱语飞飞发送通知"""
|
|
import requests
|
|
from applogger import get_logger
|
|
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
class IYUUNotifier:
|
|
"""爱语飞飞通知客户端"""
|
|
|
|
def __init__(self, token: str):
|
|
self.token = token
|
|
self.api_url = f"https://iyuu.cn/{token}.send"
|
|
|
|
def send(self, title: str, content: str) -> bool:
|
|
print(f"\n{'='*50}")
|
|
print(f"[测试] 准备发送通知")
|
|
print(f"[测试] API URL: {self.api_url}")
|
|
print(f"[测试] Title: {title}")
|
|
print(f"[测试] Content: {content[:100]}...")
|
|
print(f"{'='*50}\n")
|
|
|
|
try:
|
|
response = requests.get(
|
|
self.api_url,
|
|
params={
|
|
'text': title,
|
|
'desp': content
|
|
},
|
|
timeout=10
|
|
)
|
|
|
|
print(f"[测试] 响应状态码: {response.status_code}")
|
|
print(f"[测试] 响应内容: {response.text}")
|
|
|
|
response.raise_for_status()
|
|
result = response.json()
|
|
|
|
print(f"[测试] 解析结果: {result}")
|
|
|
|
if result.get('errcode') == 0:
|
|
print(f"[测试] ✓ 发送成功!")
|
|
return True
|
|
else:
|
|
print(f"[测试] ✗ 发送失败: {result.get('errmsg')}")
|
|
logger.error(f"发送通知失败: {result.get('errmsg')}")
|
|
return False
|
|
|
|
except requests.RequestException as e:
|
|
logger.error(f"发送通知请求失败: {e}")
|
|
return False
|
|
except Exception as e:
|
|
logger.error(f"发送通知异常: {e}")
|
|
return False
|