让节气静态内置而不是实时 LLM 生成
This commit is contained in:
@ -4,14 +4,45 @@ from nonebot.internal.adapter.event import Event
|
|||||||
from nonebot_plugin_alconna import UniMessage
|
from nonebot_plugin_alconna import UniMessage
|
||||||
from nonebot_plugin_apscheduler import scheduler
|
from nonebot_plugin_apscheduler import scheduler
|
||||||
|
|
||||||
from konabot.common.llm import get_llm
|
|
||||||
from konabot.plugins.poster.poster_info import PosterInfo, register_poster_info
|
from konabot.plugins.poster.poster_info import PosterInfo, register_poster_info
|
||||||
from konabot.plugins.poster.service import broadcast
|
from konabot.plugins.poster.service import broadcast
|
||||||
|
|
||||||
register_poster_info("二十四节气", PosterInfo(
|
register_poster_info(
|
||||||
{"节气", "24节气"},
|
"二十四节气",
|
||||||
"当有新的节气时,报告节气信息",
|
PosterInfo(
|
||||||
))
|
{"节气", "24节气"},
|
||||||
|
"当有新的节气时,报告节气信息",
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
# 二十四节气的内置口号
|
||||||
|
# Generated by claude-opus-4.6
|
||||||
|
SOLAR_TERM_SLOGANS: dict[str, str] = {
|
||||||
|
"立春": "春回大地,万物复苏!",
|
||||||
|
"雨水": "春雨绵绵,润物无声!",
|
||||||
|
"惊蛰": "春雷惊蛰,万物生长!",
|
||||||
|
"春分": "昼夜平分,春意盎然!",
|
||||||
|
"清明": "清明时节,踏青赏春!",
|
||||||
|
"谷雨": "谷雨时节,播种希望!",
|
||||||
|
"立夏": "立夏之日,夏意渐浓!",
|
||||||
|
"小满": "小满时节,麦穗渐满!",
|
||||||
|
"芒种": "芒种农忙,收获在望!",
|
||||||
|
"夏至": "夏至日长,骄阳似火!",
|
||||||
|
"小暑": "小暑炎炎,清凉为伴!",
|
||||||
|
"大暑": "大暑酷热,防暑降温!",
|
||||||
|
"立秋": "立秋时节,暑去凉来!",
|
||||||
|
"处暑": "处暑时节,秋高气爽!",
|
||||||
|
"白露": "白露降临,秋意渐浓!",
|
||||||
|
"秋分": "秋分时节,硕果累累!",
|
||||||
|
"寒露": "寒露凝结,秋意正浓!",
|
||||||
|
"霜降": "霜降时节,秋收冬藏!",
|
||||||
|
"立冬": "立冬之日,冬意渐起!",
|
||||||
|
"小雪": "小雪飘飘,寒意渐浓!",
|
||||||
|
"大雪": "大雪纷飞,银装素裹!",
|
||||||
|
"冬至": "冬至日短,数九寒天!",
|
||||||
|
"小寒": "小寒时节,天寒地冻!",
|
||||||
|
"大寒": "大寒岁末,辞旧迎新!",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@scheduler.scheduled_job("cron", hour="8")
|
@scheduler.scheduled_job("cron", hour="8")
|
||||||
@ -20,20 +51,15 @@ async def _():
|
|||||||
term: str | None = today.term
|
term: str | None = today.term
|
||||||
|
|
||||||
if term is not None:
|
if term is not None:
|
||||||
llm = get_llm("qwen3-max")
|
slogan = SOLAR_TERM_SLOGANS.get(term, "")
|
||||||
prompt = f"请写两个四字词语,讲讲节气:{term}。以感叹号结尾,格式是「某某某某,某某某某!」,不要带有其他内容。"
|
await broadcast(
|
||||||
result = await llm.chat([{
|
"二十四节气", UniMessage.text(f"【今日节气】今天是 {term} 哦!{slogan}")
|
||||||
"role": "user", "content": prompt,
|
)
|
||||||
}])
|
|
||||||
result = result.content
|
|
||||||
if result is None:
|
|
||||||
result = ""
|
|
||||||
|
|
||||||
await broadcast("二十四节气", UniMessage.text(f"【今日节气】今天是 {term} 哦!{result}"))
|
|
||||||
|
|
||||||
|
|
||||||
cmd_next_term = on_command("下一个节气")
|
cmd_next_term = on_command("下一个节气")
|
||||||
|
|
||||||
|
|
||||||
@cmd_next_term.handle()
|
@cmd_next_term.handle()
|
||||||
async def _(event: Event):
|
async def _(event: Event):
|
||||||
date = LunarDate.today()
|
date = LunarDate.today()
|
||||||
@ -54,6 +80,7 @@ async def _(event: Event):
|
|||||||
|
|
||||||
cmd_current_term = on_command("当前节气", aliases={"获取节气", "节气"})
|
cmd_current_term = on_command("当前节气", aliases={"获取节气", "节气"})
|
||||||
|
|
||||||
|
|
||||||
@cmd_current_term.handle()
|
@cmd_current_term.handle()
|
||||||
async def _(event: Event):
|
async def _(event: Event):
|
||||||
date = LunarDate.today()
|
date = LunarDate.today()
|
||||||
|
|||||||
Reference in New Issue
Block a user