2024-12-14 04:43:03 +08:00
|
|
|
import traceback
|
|
|
|
|
|
|
|
import httpx
|
|
|
|
|
2024-12-15 02:51:37 +08:00
|
|
|
from nonebot_plugin_marshoai.plugin import (
|
|
|
|
Integer,
|
|
|
|
PluginMetadata,
|
|
|
|
String,
|
|
|
|
function_call,
|
|
|
|
on_function_call,
|
|
|
|
)
|
2024-12-14 04:43:03 +08:00
|
|
|
|
|
|
|
__marsho_meta__ = PluginMetadata(
|
|
|
|
name="Bangumi 番剧信息",
|
|
|
|
description="Bangumi 番剧信息",
|
|
|
|
usage="Bangumi 番剧信息",
|
|
|
|
author="Liteyuki",
|
|
|
|
homepage="",
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2024-12-15 02:51:37 +08:00
|
|
|
@function_call
|
2024-12-14 04:43:03 +08:00
|
|
|
async def fetch_calendar():
|
2024-12-15 02:51:37 +08:00
|
|
|
"""获取今天日期"""
|
2024-12-14 04:43:03 +08:00
|
|
|
url = "https://api.bgm.tv/calendar"
|
|
|
|
headers = {
|
|
|
|
"User-Agent": "LiteyukiStudio/nonebot-plugin-marshoai (https://github.com/LiteyukiStudio/nonebot-plugin-marshoai)"
|
|
|
|
}
|
|
|
|
async with httpx.AsyncClient() as client:
|
|
|
|
response = await client.get(url, headers=headers)
|
|
|
|
# print(response.text)
|
|
|
|
return response.json()
|
|
|
|
|
|
|
|
|
|
|
|
@function_call
|
|
|
|
async def get_bangumi_news() -> str:
|
2024-12-15 02:51:37 +08:00
|
|
|
"""获取今天的新番(动漫)列表,在调用之前,你需要知道今天星期几。"""
|
2024-12-14 04:43:03 +08:00
|
|
|
result = await fetch_calendar()
|
|
|
|
info = ""
|
|
|
|
try:
|
|
|
|
for i in result:
|
|
|
|
weekday = i["weekday"]["cn"]
|
|
|
|
# print(weekday)
|
|
|
|
info += f"{weekday}:"
|
|
|
|
items = i["items"]
|
|
|
|
for item in items:
|
|
|
|
name = item["name_cn"]
|
|
|
|
info += f"《{name}》"
|
|
|
|
info += "\n"
|
|
|
|
return info
|
|
|
|
except Exception as e:
|
|
|
|
traceback.print_exc()
|
|
|
|
return ""
|
|
|
|
|
|
|
|
|
|
|
|
@function_call
|
|
|
|
def test_sync() -> str:
|
|
|
|
return "sync"
|