参考
- https://zhuanlan.zhihu.com/p/603724047
 - https://www.163.com/dy/article/HTD2ID4G05561K0X.html
 - https://zhuanlan.zhihu.com/p/603724047
 
想法
- 接微信机器人
- 群友对话直接 at 机器人、以指令开头、触发逻辑。
 
 - 接 chatgpt
- 根据问题与获取的卦辞或者表达的象征,通过有预设的 gpt 做解释后发回给群友。
 
 
代码部分
十二地支时间换算
import datetime
from lunardate import LunarDate
Zhi = ["子", "醜", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
def get_factor_time(time:datetime.datetime=None):
    if time is None:
        time = datetime.datetime.now()
    # 获取农历时间
    lunar_time = LunarDate.fromSolarDate(time.year, time.month, time.day)
    # 输出农历时间
    lunar_month = lunar_time.month
    lunar_day = lunar_time.day
    lunar_hour = time.hour//2
    print(f"农历时间:{lunar_month} 月 {lunar_day} 日 {lunar_hour}({Zhi[lunar_hour]}) 时")
完整代码
#!/usr/bin/env python
# encoding: utf-8
# @Time   : 2023/07/04 01:05:33
# @author : zza
# @Email  : z740713651@outlook.com
# @File   : xiao_liu_ren.py
from collections import defaultdict
import datetime
from lunardate import LunarDate
Zhi = ["子", "醜", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
xiao_liu_ren = [
    "大安",
    "留连",
    "速喜",
    "赤口",
    "小吉",
    "空亡",
]
def get_factor_time(time: datetime.datetime = None):
    if time is None:
        time = datetime.datetime.now()
    print(f"阳历时间:{time.isoformat()}")
    # 获取农历时间
    lunar_time = LunarDate.fromSolarDate(time.year, time.month, time.day)
    # 输出农历时间
    lunar_month = lunar_time.month
    lunar_day = lunar_time.day
    lunar_hour = (time.hour + 1) // 2
    print(f"农历时间:{lunar_month} 月 {lunar_day} 日 {Zhi[lunar_hour]}({lunar_hour}) 时")
    factor_month = xiao_liu_ren[(lunar_month - 1) % 6]
    factor_day = xiao_liu_ren[(lunar_month - 1 + lunar_day - 1) % 6]
    factor_hour = xiao_liu_ren[(lunar_month - 1 + lunar_day - 1 + lunar_hour) % 6]
    print(f"小六壬月日时:{factor_month} {factor_day} {factor_hour}")
    return factor_month, factor_day, factor_hour
def lost_item(factor):
    guaci = {
        "大安": {
            "留连": "大安加留连,失物西北去。",
            "速喜": "大安加速喜,失物当日见。",
            "赤口": "大安加赤口,失物不用找。",
            "小吉": "大安加小吉,失物不出门。",
            "空亡": "大安加空亡,失物无踪影。",
            "大安": "大安加大安,失物在家里。",
        },
        "留连": {
            "大安": "留连加大安,物在家中藏。",
            "速喜": "留连加速喜,失物三天里。",
            "赤口": "留连加赤口,失物准丢失。",
            "小吉": "留连加小吉,失物东南去。",
            "空亡": "留连加空亡,失物不见面。",
            "留连": "留连加留连,失物落在南。",
        },
        "速喜": {
            "赤口": "速喜加赤口,失物往正北。",
            "小吉": "速喜加小吉,失物在家里。",
            "空亡": "速喜加空亡,失物不久见。",
            "大安": "速喜加大安,失物不丢失。",
            "留连": "速喜加留连,失物无信息。",
            "速喜": "速喜加速喜,失物落正南。",
        },
        "赤口": {
            "小吉": "赤口加小吉,失物无信息。",
            "空亡": "赤口加空亡,失物不用找。",
            "大安": "赤口加大安,失物东北找。",
            "留连": "赤口加留连,失物不回还。",
            "速喜": "赤口加速喜,失物有着落。",
            "赤口": "赤口加赤口,失物正西找。",
        },
        "小吉": {
            "空亡": "小吉加空亡,失物正东找。",
            "大安": "小吉加大安,失物自己出。",
            "留连": "小吉加留连,失物上西南。",
            "速喜": "小吉加速喜,失物在院里。",
            "赤口": "小吉加赤口,失物丢了手。",
            "小吉": "小吉加小吉,失物在西南。",
        },
        "空亡": {
            "大安": "空亡加大安,失物反复间。",
            "留连": "空亡加留连,失物永不还。",
            "速喜": "空亡加速喜,失物在家里。",
            "赤口": "空亡加赤口,失物往远走。",
            "小吉": "空亡加小吉,失物回家里。",
            "空亡": "空亡加空亡,失物寻不见。",
        },
    }
    return guaci[factor[1]][factor[2]]
if __name__ == "__main__":
    # get_factor_time()
    # 日上起時。 假如三月初五日辰時:三月在速喜上;就速喜上起初一;初五在大安;大安上起子時;數至辰時即是小吉; 以類推占,餘皆倣此。
    # 速喜 大安 小吉
    res = get_factor_time(datetime.datetime(2023, 4, 24, 7, 15))
    assert res == ("速喜", "大安", "小吉"), res
    res = lost_item(res)
    assert res == "大安加小吉,失物不出门。", res
    res = get_factor_time(datetime.datetime(2022, 4, 30, 8, 20))
    assert res == ("速喜", "留连", "空亡"), res
    res = lost_item(res)
    assert res == "留连加空亡,失物不见面。", res
表象属性
大安
不动 木 青色 东 吉祥
大安事事昌,求谋在东方,失物去不远
留连
慢 四方土 黑色 纠狸 拖延
留连事难成,求谋日未明,官事只宜缓
速喜
快速 火 红色 南方
吉利求财向南行,失物申未午(南或西南)
赤口
吵 金 白色 西方 凶险
赤口主口舌,官非切要防,失物急去寻
小吉
主动 缓慢 水 北方 吉利
小吉最吉昌,失物在坤方(西南)
空亡
无 随性 中央土 黄  色 难以找回
空亡事不禅,失物寻不见
卦辞
大安日
- 大安加留連,辦事不周全,失物西北去,婚姻晚幾天。
 - 大安加速喜,事事自己起,失物當日見,婚姻自己提。
 - 大安加赤口,辦事不順手,失物不用找,婚姻兩分手。
 - 大安加小吉,事事從己及,失物不出門,婚姻成就地。
 - 大安加空亡,病人要上床,失物無蹤影,事事不順情。
 
留連日
- 留連加大安,辦事兩分張,婚姻有喜事,先苦後來甜。
 - 留連加速喜,事事由自己,婚姻有成意,失物三天裡。
 - 留連加赤口,病者死人口,失物準丟失,婚姻兩分手。
 - 留連加小吉,事事不用提,失物東南去,病者出人齊。
 - 留連加空亡,病人準死亡,失物不見面,婚姻兩分張。
 
速喜日
- 速喜加赤口,自己往外走,失物往正北,婚姻得勤走。
 - 速喜加小吉,婚姻有人提,病人當天好,時物在家裡。
 - 速喜加空亡,婚姻 有分張,病者積極治,失物不久見。
 - 速喜加大安,事事都平安,姻姻成全了,佔病都相安。
 - 速喜加留連,婚姻不可言,失物無資訊,病人有仙緣。
 
赤口日
- 赤口加小吉,辦事自己提,婚姻不能成,失物無資訊。
 - 赤口加空亡,無病也上床,失物不用找,婚姻不能成。
 - 赤口加大安,辦事險和難,失物東北找,婚姻指定難。
 - 赤口加留連,辦事有困難,行人在外走,失物不回還。
 - 赤口加速喜,婚姻在自己,失物有著落,辦事官事起。
 
小吉日
- 小吉加空亡,病人不妥當,失物正東找,婚姻再想想。
 - 小吉加大安,事事兩週全,婚姻當日定,失物自己損。
 - 小吉加留連,事事有反還,婚姻有人破,失物上西南。
 - 小吉加速喜,事事從頭起,婚姻能成就,失物在院裡。
 - 小吉加赤口,辦事往外走,婚姻有難處,失物丟了手。
 
空亡日
- 空亡加大安,事事不周全,婚姻從和好,失物反覆間。
 - 空亡加留連,辦事處處難,婚姻重新定,失物永不還。
 - 空亡加速喜,事事怨自己,婚姻有一定,失物在家裡。
 - 空亡加赤口,辦事官非有,婚姻難定準,失物往遠走。
 - 空亡加小吉,事事有猜疑,婚姻有喜事,失物回家裡。