SanYeCao-Nonebot/src/qq_plugins/fortune.py

48 lines
1.7 KiB
Python
Raw Normal View History

2025-01-14 10:57:59 +00:00
# 引入sqlalchemy依赖
from pathlib import Path
from nonebot.rule import to_me
from nonebot.plugin import on_command
from nonebot.adapters.qq import Message, MessageEvent, MessageSegment,exception
2025-01-14 10:57:59 +00:00
from src.image.get_image import get_image_names
2025-01-22 09:27:48 +00:00
from src.my_sqlite.models.fortune import QrFortune,QrFortuneLog
from src.my_sqlite.models.tarot import MajorArcana
2025-01-14 10:57:59 +00:00
fortune_by_sqlite = on_command("今日运势", rule=to_me(), priority=10, block=True)
@fortune_by_sqlite.handle()
async def get_today_fortune(message: MessageEvent):
local_image_path = get_image_names()
result = await QrFortune.get_fortune(message.get_user_id())
2025-01-14 10:57:59 +00:00
content = ("\n" + "您的今日运势为:" + "\n" +
result.fortune_summary + "\n" +
result.lucky_star + "\n" +
"签文:" + result.sign_text + "\n" +
2025-01-19 07:24:22 +00:00
"————————————" + "\n" +
2025-01-14 10:57:59 +00:00
"解签:" + result.un_sign_text)
msg = Message([
MessageSegment.file_image(Path(local_image_path)),
MessageSegment.text(content),
])
try:
await fortune_by_sqlite.finish(msg)
except exception.ActionFailed:
await fortune_by_sqlite.finish("您的今日运势被外星人抢走啦,请重试。这绝对不是咱的错,绝对不是!")
tarot = on_command("今日塔罗", rule=to_me(), priority=10, block=True)
@tarot.handle()
async def tarot(message: MessageEvent):
result = await MajorArcana.tarotChoice(message.get_user_id())
content = ("\n" + result.ints + "\n" +
result.name + "\n" +
"含义:" + result.meaning)
msg = Message([
MessageSegment.file_image(Path(result.image)),
MessageSegment.text(content),
])
await fortune_by_sqlite.finish(msg)