festival_reminder.py 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734
  1. """
  2. 节日提醒, festival reminder
  3. """
  4. import json
  5. import datetime
  6. import time
  7. import requests
  8. import schedule
  9. def bot(festival_info, days_count, date_str):
  10. """
  11. 机器人
  12. """
  13. level = festival_info["level"]
  14. festival = festival_info["festival"]
  15. category = festival_info["category"]
  16. if festival == "龙年龙月龙日龙时":
  17. date_str = "\n" + date_str + " 07:00-09:00"
  18. # url = "https://open.feishu.cn/open-apis/bot/v2/hook/8eda2f73-e6f5-4fcd-944e-5a34579e1049"
  19. url = 'https://open.feishu.cn/open-apis/bot/v2/hook/92045725-d126-465b-babe-7e2a0aa048b3'
  20. headers = {"Content-Type": "application/json"}
  21. if level == "P0":
  22. payload = {
  23. "msg_type": "interactive",
  24. "card": {
  25. "elements": [
  26. {
  27. "tag": "div",
  28. "text": {
  29. "content": "📣热点内容节点通知,请注意查收<at id=all></at>\n",
  30. "tag": "lark_md"
  31. }
  32. },
  33. {
  34. "tag": "div",
  35. "text": {
  36. "content": "节日类型: **{}**\n距离**{}**还有**{}天**,请提前做好内容准备哦\n**{}日期: \t{}**".format(
  37. category, festival, days_count, festival, date_str
  38. ),
  39. "tag": "lark_md",
  40. },
  41. },
  42. ],
  43. "header": {"title": {"content": "【🔥P0重点关注】", "tag": "plain_text"}},
  44. },
  45. }
  46. res = requests.request("POST", url=url, headers=headers, data=json.dumps(payload))
  47. print(res.text)
  48. if level == "P1":
  49. payload = {
  50. "msg_type": "interactive",
  51. "card": {
  52. "elements": [
  53. {
  54. "tag": "div",
  55. "text": {
  56. "content": "📣热点内容节点通知,请注意查收<at id=all></at>\n",
  57. "tag": "lark_md"
  58. }
  59. },
  60. {
  61. "tag": "div",
  62. "text": {
  63. "content": "节日类型: **{}**\n距离**{}**还有**{}天**,请提前做好内容准备哦\n**{}日期: \t{}**".format(
  64. category, festival, days_count, festival, date_str
  65. ),
  66. "tag": "lark_md",
  67. },
  68. },
  69. ],
  70. "header": {"title": {"content": "【💡P1关注】", "tag": "plain_text"}},
  71. },
  72. }
  73. res = requests.request("POST", url=url, headers=headers, data=json.dumps(payload))
  74. print(res.text)
  75. class FestivalReminder(object):
  76. """
  77. 节日提醒对象
  78. """
  79. def __init__(self):
  80. self.festival_dict = {
  81. "2024": {
  82. "2024-01-01": [
  83. {
  84. "level": "P0",
  85. "festival": "元旦",
  86. "category": "节假日"
  87. }
  88. ],
  89. "2024-01-18": [
  90. {
  91. "level": "P0",
  92. "festival": "腊八节",
  93. "category": "节假日"
  94. }
  95. ],
  96. "2024-02-02": [
  97. {
  98. "level": "P0",
  99. "festival": "小年",
  100. "category": "节假日"
  101. }
  102. ],
  103. "2024-03-12": [
  104. {
  105. "level": "P1",
  106. "festival": "植树节",
  107. "category": "节假日"
  108. },
  109. {
  110. "level": "P1",
  111. "festival": "植树节",
  112. "category": "节假日"
  113. },
  114. {
  115. "level": "P1",
  116. "festival": "孙中山逝世纪念日",
  117. "category": "纪念日"
  118. }
  119. ],
  120. "2024-02-03": [
  121. {
  122. "level": "P0",
  123. "festival": "小年",
  124. "category": "节假日"
  125. }
  126. ],
  127. "2024-02-09": [
  128. {
  129. "level": "P0",
  130. "festival": "除夕",
  131. "category": "节假日"
  132. }
  133. ],
  134. "2024-02-10": [
  135. {
  136. "level": "P0",
  137. "festival": "春节",
  138. "category": "节假日"
  139. },
  140. {
  141. "level": "P0",
  142. "festival": "正月初一",
  143. "category": "节假日"
  144. }
  145. ],
  146. "2024-02-11": [
  147. {
  148. "level": "P0",
  149. "festival": "正月初二",
  150. "category": "节假日"
  151. }
  152. ],
  153. "2024-02-12": [
  154. {
  155. "level": "P0",
  156. "festival": "正月初三",
  157. "category": "节假日"
  158. }
  159. ],
  160. "2024-02-13": [
  161. {
  162. "level": "P0",
  163. "festival": "正月初四",
  164. "category": "节假日"
  165. }
  166. ],
  167. "2024-02-14": [
  168. {
  169. "level": "P0",
  170. "festival": "正月初五",
  171. "category": "节假日"
  172. },
  173. {
  174. "level": "P1",
  175. "festival": "情人节",
  176. "category": "节假日"
  177. }
  178. ],
  179. "2024-02-24": [
  180. {
  181. "level": "P0",
  182. "festival": "元宵节",
  183. "category": "节假日"
  184. }
  185. ],
  186. "2024-03-11": [
  187. {
  188. "level": "P0",
  189. "festival": "龙抬头",
  190. "category": "节假日"
  191. }
  192. ],
  193. "2024-03-08": [
  194. {
  195. "level": "P1",
  196. "festival": "妇女节",
  197. "category": "节假日"
  198. }
  199. ],
  200. "2024-05-01": [
  201. {
  202. "level": "P0",
  203. "festival": "劳动节",
  204. "category": "节假日"
  205. }
  206. ],
  207. "2024-05-12": [
  208. {
  209. "level": "P0",
  210. "festival": "母亲节",
  211. "category": "节假日"
  212. }
  213. ],
  214. "2024-06-01": [
  215. {
  216. "level": "P1",
  217. "festival": "儿童节",
  218. "category": "节假日"
  219. }
  220. ],
  221. "2024-06-10": [
  222. {
  223. "level": "P0",
  224. "festival": "端午节",
  225. "category": "节假日"
  226. }
  227. ],
  228. "2024-06-16": [
  229. {
  230. "level": "P0",
  231. "festival": "父亲节",
  232. "category": "节假日"
  233. }
  234. ],
  235. "2024-07-01": [
  236. {
  237. "level": "P0",
  238. "festival": "建党节",
  239. "category": "节假日"
  240. }
  241. ],
  242. "2024-08-01": [
  243. {
  244. "level": "P1",
  245. "festival": "建军节",
  246. "category": "节假日"
  247. }
  248. ],
  249. "2024-08-10": [
  250. {
  251. "level": "P0",
  252. "festival": "七夕节",
  253. "category": "节假日"
  254. }
  255. ],
  256. "2024-08-18": [
  257. {
  258. "level": "P1",
  259. "festival": "中元节",
  260. "category": "节假日"
  261. }
  262. ],
  263. "2024-09-17": [
  264. {
  265. "level": "P0",
  266. "festival": "中秋节",
  267. "category": "节假日"
  268. }
  269. ],
  270. "2024-10-01": [
  271. {
  272. "level": "P0",
  273. "festival": "国庆节",
  274. "category": "节假日"
  275. }
  276. ],
  277. "2024-10-11": [
  278. {
  279. "level": "P0",
  280. "festival": "重阳节",
  281. "category": "节假日"
  282. }
  283. ],
  284. "2024-11-28": [
  285. {
  286. "level": "P1",
  287. "festival": "感恩节",
  288. "category": "节假日"
  289. }
  290. ],
  291. "2024-11-27": [
  292. {
  293. "level": "P1",
  294. "festival": "感恩节",
  295. "category": "节假日"
  296. }
  297. ],
  298. "2024-12-13": [
  299. {
  300. "level": "P0",
  301. "festival": "公祭日",
  302. "category": "节假日"
  303. }
  304. ],
  305. "2024-12-24": [
  306. {
  307. "level": "P1",
  308. "festival": "平安夜",
  309. "category": "节假日"
  310. }
  311. ],
  312. "2024-12-25": [
  313. {
  314. "level": "P1",
  315. "festival": "圣诞节",
  316. "category": "节假日"
  317. }
  318. ],
  319. "2024-01-06": [
  320. {
  321. "level": "P1",
  322. "festival": "小寒",
  323. "category": "节气"
  324. }
  325. ],
  326. "2024-01-20": [
  327. {
  328. "level": "P1",
  329. "festival": "大寒",
  330. "category": "节气"
  331. }
  332. ],
  333. "2024-02-04": [
  334. {
  335. "level": "P0",
  336. "festival": "立春",
  337. "category": "节气"
  338. }
  339. ],
  340. "2024-02-19": [
  341. {
  342. "level": "P1",
  343. "festival": "雨水",
  344. "category": "节气"
  345. },
  346. {
  347. "level": "P0",
  348. "festival": "邓小平逝世纪念日",
  349. "category": "纪念日"
  350. }
  351. ],
  352. "2024-03-05": [
  353. {
  354. "level": "P1",
  355. "festival": "惊蛰",
  356. "category": "节气"
  357. },
  358. {
  359. "level": "P0",
  360. "festival": "周恩来诞辰纪念日",
  361. "category": "纪念日"
  362. },
  363. {
  364. "level": "P1",
  365. "festival": "学雷锋纪念日纪念日",
  366. "category": "纪念日"
  367. },
  368. {
  369. "level": "P0",
  370. "festival": "两会",
  371. "category": "热点"
  372. },
  373. {
  374. "level": "P0",
  375. "festival": "两会",
  376. "category": "热点"
  377. },
  378. {
  379. "level": "P0",
  380. "festival": "两会",
  381. "category": "热点"
  382. }
  383. ],
  384. "2024-03-20": [
  385. {
  386. "level": "P1",
  387. "festival": "春分",
  388. "category": "节气"
  389. }
  390. ],
  391. "2024-04-04": [
  392. {
  393. "level": "P0",
  394. "festival": "清明",
  395. "category": "节气"
  396. }
  397. ],
  398. "2024-04-19": [
  399. {
  400. "level": "P1",
  401. "festival": "谷雨",
  402. "category": "节气"
  403. }
  404. ],
  405. "2024-04-22": [
  406. {
  407. "level": "P1",
  408. "festival": "龙年龙月龙日龙时",
  409. "category": "热点"
  410. }
  411. ],
  412. "2024-05-04": [
  413. {
  414. "level": "P1",
  415. "festival": "龙年龙月龙日龙时",
  416. "category": "热点"
  417. }
  418. ],
  419. "2024-05-05": [
  420. {
  421. "level": "P0",
  422. "festival": "立夏",
  423. "category": "节气"
  424. }
  425. ],
  426. "2024-05-20": [
  427. {
  428. "level": "P1",
  429. "festival": "小满",
  430. "category": "节气"
  431. }
  432. ],
  433. "2024-06-05": [
  434. {
  435. "level": "P1",
  436. "festival": "芒种",
  437. "category": "节气"
  438. }
  439. ],
  440. "2024-06-21": [
  441. {
  442. "level": "P1",
  443. "festival": "夏至",
  444. "category": "节气"
  445. }
  446. ],
  447. "2024-07-06": [
  448. {
  449. "level": "P1",
  450. "festival": "小暑",
  451. "category": "节气"
  452. },
  453. {
  454. "level": "P1",
  455. "festival": "朱德逝世纪念日",
  456. "category": "纪念日"
  457. }
  458. ],
  459. "2024-07-22": [
  460. {
  461. "level": "P1",
  462. "festival": "大暑",
  463. "category": "节气"
  464. }
  465. ],
  466. "2024-08-07": [
  467. {
  468. "level": "P0",
  469. "festival": "立秋",
  470. "category": "节气"
  471. }
  472. ],
  473. "2024-08-22": [
  474. {
  475. "level": "P1",
  476. "festival": "处暑",
  477. "category": "节气"
  478. },
  479. {
  480. "level": "P0",
  481. "festival": "邓小平诞辰纪念日",
  482. "category": "纪念日"
  483. }
  484. ],
  485. "2024-09-07": [
  486. {
  487. "level": "P1",
  488. "festival": "白露",
  489. "category": "节气"
  490. },
  491. {
  492. "level": "P1",
  493. "festival": "袁隆平诞辰纪念日",
  494. "category": "纪念日"
  495. }
  496. ],
  497. "2024-09-22": [
  498. {
  499. "level": "P1",
  500. "festival": "秋分",
  501. "category": "节气"
  502. }
  503. ],
  504. "2024-10-08": [
  505. {
  506. "level": "P1",
  507. "festival": "寒露",
  508. "category": "节气"
  509. }
  510. ],
  511. "2024-10-23": [
  512. {
  513. "level": "P1",
  514. "festival": "霜降",
  515. "category": "节气"
  516. }
  517. ],
  518. "2024-11-07": [
  519. {
  520. "level": "P0",
  521. "festival": "立冬",
  522. "category": "节气"
  523. }
  524. ],
  525. "2024-11-22": [
  526. {
  527. "level": "P1",
  528. "festival": "小雪",
  529. "category": "节气"
  530. }
  531. ],
  532. "2024-12-06": [
  533. {
  534. "level": "P1",
  535. "festival": "大雪",
  536. "category": "节气"
  537. }
  538. ],
  539. "2024-12-21": [
  540. {
  541. "level": "P0",
  542. "festival": "冬至",
  543. "category": "节气"
  544. }
  545. ],
  546. "2024-11-12": [
  547. {
  548. "level": "P1",
  549. "festival": "孙中山诞辰纪念日",
  550. "category": "纪念日"
  551. }
  552. ],
  553. "2024-12-26": [
  554. {
  555. "level": "P0",
  556. "festival": "毛主席诞辰纪念日",
  557. "category": "纪念日"
  558. }
  559. ],
  560. "2024-09-09": [
  561. {
  562. "level": "P0",
  563. "festival": "毛主席逝世纪念日",
  564. "category": "纪念日"
  565. }
  566. ],
  567. "2024-01-08": [
  568. {
  569. "level": "P0",
  570. "festival": "周恩来逝世纪念日",
  571. "category": "纪念日"
  572. }
  573. ],
  574. "2024-07-03": [
  575. {
  576. "level": "P0",
  577. "festival": "李克强诞辰纪念日",
  578. "category": "纪念日"
  579. }
  580. ],
  581. "2024-10-27": [
  582. {
  583. "level": "P0",
  584. "festival": "李克强逝世纪念日",
  585. "category": "纪念日"
  586. },
  587. {
  588. "level": "P1",
  589. "festival": "吴尊友逝世纪念日",
  590. "category": "纪念日"
  591. }
  592. ],
  593. "2024-09-18": [
  594. {
  595. "level": "P0",
  596. "festival": "九一八纪念日",
  597. "category": "纪念日"
  598. }
  599. ],
  600. "2024-07-07": [
  601. {
  602. "level": "P0",
  603. "festival": "七七事变纪念日",
  604. "category": "纪念日"
  605. }
  606. ],
  607. "2024-05-22": [
  608. {
  609. "level": "P1",
  610. "festival": "袁隆平逝世纪念日",
  611. "category": "纪念日"
  612. }
  613. ],
  614. "2024-10-24": [
  615. {
  616. "level": "P1",
  617. "festival": "彭德怀诞辰纪念日",
  618. "category": "纪念日"
  619. }
  620. ],
  621. "2024-11-29": [
  622. {
  623. "level": "P1",
  624. "festival": "彭德怀逝世纪念日",
  625. "category": "纪念日"
  626. }
  627. ],
  628. "2024-12-01": [
  629. {
  630. "level": "P1",
  631. "festival": "朱德诞辰纪念日",
  632. "category": "纪念日"
  633. }
  634. ],
  635. "2024-03-15": [
  636. {
  637. "level": "P1",
  638. "festival": "315消费者权益保护日",
  639. "category": "热点"
  640. },
  641. {
  642. "level": "P1",
  643. "festival": "315消费者权益保护日",
  644. "category": "热点"
  645. },
  646. {
  647. "level": "P1",
  648. "festival": "315消费者权益保护日",
  649. "category": "热点"
  650. }
  651. ]
  652. },
  653. "2025": {
  654. "2025-01-01": [
  655. {
  656. "level": "P0",
  657. "festival": "元旦",
  658. "category": "节假日"
  659. }
  660. ],
  661. "2025-01-07": [
  662. {
  663. "level": "P0",
  664. "festival": "腊八节",
  665. "category": "节假日"
  666. }
  667. ],
  668. "2025-01-22": [
  669. {
  670. "level": "P0",
  671. "festival": "小年",
  672. "category": "节假日"
  673. }
  674. ],
  675. "2025-03-12": [
  676. {
  677. "level": "P1",
  678. "festival": "植树节",
  679. "category": "节假日"
  680. },
  681. {
  682. "level": "P1",
  683. "festival": "植树节",
  684. "category": "节假日"
  685. },
  686. {
  687. "level": "P1",
  688. "festival": "孙中山逝世纪念日",
  689. "category": "纪念日"
  690. }
  691. ],
  692. "2025-01-23": [
  693. {
  694. "level": "P0",
  695. "festival": "小年",
  696. "category": "节假日"
  697. }
  698. ],
  699. "2025-01-28": [
  700. {
  701. "level": "P0",
  702. "festival": "除夕",
  703. "category": "节假日"
  704. }
  705. ],
  706. "2025-01-29": [
  707. {
  708. "level": "P0",
  709. "festival": "春节",
  710. "category": "节假日"
  711. },
  712. {
  713. "level": "P0",
  714. "festival": "正月初一",
  715. "category": "节假日"
  716. }
  717. ],
  718. "2025-01-30": [
  719. {
  720. "level": "P0",
  721. "festival": "正月初二",
  722. "category": "节假日"
  723. }
  724. ],
  725. "2025-01-31": [
  726. {
  727. "level": "P0",
  728. "festival": "正月初三",
  729. "category": "节假日"
  730. }
  731. ],
  732. "2025-02-01": [
  733. {
  734. "level": "P0",
  735. "festival": "正月初四",
  736. "category": "节假日"
  737. }
  738. ],
  739. "2025-02-02": [
  740. {
  741. "level": "P0",
  742. "festival": "正月初五",
  743. "category": "节假日"
  744. }
  745. ],
  746. "2025-02-14": [
  747. {
  748. "level": "P1",
  749. "festival": "情人节",
  750. "category": "节假日"
  751. }
  752. ],
  753. "2025-02-12": [
  754. {
  755. "level": "P0",
  756. "festival": "元宵节",
  757. "category": "节假日"
  758. }
  759. ],
  760. "2025-03-01": [
  761. {
  762. "level": "P0",
  763. "festival": "龙抬头",
  764. "category": "节假日"
  765. }
  766. ],
  767. "2025-03-08": [
  768. {
  769. "level": "P1",
  770. "festival": "妇女节",
  771. "category": "节假日"
  772. }
  773. ],
  774. "2025-05-01": [
  775. {
  776. "level": "P0",
  777. "festival": "劳动节",
  778. "category": "节假日"
  779. }
  780. ],
  781. "2025-05-11": [
  782. {
  783. "level": "P0",
  784. "festival": "母亲节",
  785. "category": "节假日"
  786. }
  787. ],
  788. "2025-06-01": [
  789. {
  790. "level": "P1",
  791. "festival": "儿童节",
  792. "category": "节假日"
  793. }
  794. ],
  795. "2025-05-31": [
  796. {
  797. "level": "P0",
  798. "festival": "端午节",
  799. "category": "节假日"
  800. }
  801. ],
  802. "2025-06-15": [
  803. {
  804. "level": "P0",
  805. "festival": "父亲节",
  806. "category": "节假日"
  807. }
  808. ],
  809. "2025-07-01": [
  810. {
  811. "level": "P0",
  812. "festival": "建党节",
  813. "category": "节假日"
  814. }
  815. ],
  816. "2025-08-01": [
  817. {
  818. "level": "P1",
  819. "festival": "建军节",
  820. "category": "节假日"
  821. }
  822. ],
  823. "2025-08-29": [
  824. {
  825. "level": "P0",
  826. "festival": "七夕节",
  827. "category": "节假日"
  828. }
  829. ],
  830. "2025-09-06": [
  831. {
  832. "level": "P1",
  833. "festival": "中元节",
  834. "category": "节假日"
  835. }
  836. ],
  837. "2025-10-06": [
  838. {
  839. "level": "P0",
  840. "festival": "中秋节",
  841. "category": "节假日"
  842. }
  843. ],
  844. "2025-10-01": [
  845. {
  846. "level": "P0",
  847. "festival": "国庆节",
  848. "category": "节假日"
  849. }
  850. ],
  851. "2025-10-29": [
  852. {
  853. "level": "P0",
  854. "festival": "重阳节",
  855. "category": "节假日"
  856. }
  857. ],
  858. "2025-12-13": [
  859. {
  860. "level": "P0",
  861. "festival": "公祭日",
  862. "category": "节假日"
  863. }
  864. ],
  865. "2025-12-24": [
  866. {
  867. "level": "P1",
  868. "festival": "平安夜",
  869. "category": "节假日"
  870. }
  871. ],
  872. "2025-12-25": [
  873. {
  874. "level": "P1",
  875. "festival": "圣诞节",
  876. "category": "节假日"
  877. }
  878. ],
  879. "2025-01-05": [
  880. {
  881. "level": "P1",
  882. "festival": "小寒",
  883. "category": "节气"
  884. }
  885. ],
  886. "2025-01-20": [
  887. {
  888. "level": "P1",
  889. "festival": "大寒",
  890. "category": "节气"
  891. }
  892. ],
  893. "2025-02-03": [
  894. {
  895. "level": "P0",
  896. "festival": "立春",
  897. "category": "节气"
  898. }
  899. ],
  900. "2025-02-18": [
  901. {
  902. "level": "P1",
  903. "festival": "雨水",
  904. "category": "节气"
  905. }
  906. ],
  907. "2025-03-05": [
  908. {
  909. "level": "P1",
  910. "festival": "惊蛰",
  911. "category": "节气"
  912. },
  913. {
  914. "level": "P0",
  915. "festival": "周恩来诞辰纪念日",
  916. "category": "纪念日"
  917. },
  918. {
  919. "level": "P1",
  920. "festival": "学雷锋纪念日纪念日",
  921. "category": "纪念日"
  922. }
  923. ],
  924. "2025-03-20": [
  925. {
  926. "level": "P1",
  927. "festival": "春分",
  928. "category": "节气"
  929. }
  930. ],
  931. "2025-04-04": [
  932. {
  933. "level": "P0",
  934. "festival": "清明",
  935. "category": "节气"
  936. }
  937. ],
  938. "2025-04-20": [
  939. {
  940. "level": "P1",
  941. "festival": "谷雨",
  942. "category": "节气"
  943. }
  944. ],
  945. "2025-05-05": [
  946. {
  947. "level": "P0",
  948. "festival": "立夏",
  949. "category": "节气"
  950. }
  951. ],
  952. "2025-05-21": [
  953. {
  954. "level": "P1",
  955. "festival": "小满",
  956. "category": "节气"
  957. }
  958. ],
  959. "2025-06-05": [
  960. {
  961. "level": "P1",
  962. "festival": "芒种",
  963. "category": "节气"
  964. }
  965. ],
  966. "2025-06-21": [
  967. {
  968. "level": "P1",
  969. "festival": "夏至",
  970. "category": "节气"
  971. }
  972. ],
  973. "2025-07-07": [
  974. {
  975. "level": "P1",
  976. "festival": "小暑",
  977. "category": "节气"
  978. },
  979. {
  980. "level": "P0",
  981. "festival": "七七事变纪念日",
  982. "category": "纪念日"
  983. }
  984. ],
  985. "2025-07-22": [
  986. {
  987. "level": "P1",
  988. "festival": "大暑",
  989. "category": "节气"
  990. }
  991. ],
  992. "2025-08-07": [
  993. {
  994. "level": "P0",
  995. "festival": "立秋",
  996. "category": "节气"
  997. }
  998. ],
  999. "2025-08-23": [
  1000. {
  1001. "level": "P1",
  1002. "festival": "处暑",
  1003. "category": "节气"
  1004. }
  1005. ],
  1006. "2025-09-07": [
  1007. {
  1008. "level": "P1",
  1009. "festival": "白露",
  1010. "category": "节气"
  1011. },
  1012. {
  1013. "level": "P1",
  1014. "festival": "袁隆平诞辰纪念日",
  1015. "category": "纪念日"
  1016. }
  1017. ],
  1018. "2025-09-23": [
  1019. {
  1020. "level": "P1",
  1021. "festival": "秋分",
  1022. "category": "节气"
  1023. }
  1024. ],
  1025. "2025-10-08": [
  1026. {
  1027. "level": "P1",
  1028. "festival": "寒露",
  1029. "category": "节气"
  1030. }
  1031. ],
  1032. "2025-10-23": [
  1033. {
  1034. "level": "P1",
  1035. "festival": "霜降",
  1036. "category": "节气"
  1037. }
  1038. ],
  1039. "2025-11-07": [
  1040. {
  1041. "level": "P0",
  1042. "festival": "立冬",
  1043. "category": "节气"
  1044. }
  1045. ],
  1046. "2025-11-22": [
  1047. {
  1048. "level": "P1",
  1049. "festival": "小雪",
  1050. "category": "节气"
  1051. }
  1052. ],
  1053. "2025-12-07": [
  1054. {
  1055. "level": "P1",
  1056. "festival": "大雪",
  1057. "category": "节气"
  1058. }
  1059. ],
  1060. "2025-12-21": [
  1061. {
  1062. "level": "P0",
  1063. "festival": "冬至",
  1064. "category": "节气"
  1065. }
  1066. ],
  1067. "2025-11-12": [
  1068. {
  1069. "level": "P1",
  1070. "festival": "孙中山诞辰纪念日",
  1071. "category": "纪念日"
  1072. }
  1073. ],
  1074. "2025-12-26": [
  1075. {
  1076. "level": "P0",
  1077. "festival": "毛主席诞辰纪念日",
  1078. "category": "纪念日"
  1079. }
  1080. ],
  1081. "2025-09-09": [
  1082. {
  1083. "level": "P0",
  1084. "festival": "毛主席逝世纪念日",
  1085. "category": "纪念日"
  1086. }
  1087. ],
  1088. "2025-01-08": [
  1089. {
  1090. "level": "P0",
  1091. "festival": "周恩来逝世纪念日",
  1092. "category": "纪念日"
  1093. }
  1094. ],
  1095. "2025-08-22": [
  1096. {
  1097. "level": "P0",
  1098. "festival": "邓小平诞辰纪念日",
  1099. "category": "纪念日"
  1100. }
  1101. ],
  1102. "2025-02-19": [
  1103. {
  1104. "level": "P0",
  1105. "festival": "邓小平逝世纪念日",
  1106. "category": "纪念日"
  1107. }
  1108. ],
  1109. "2025-07-03": [
  1110. {
  1111. "level": "P0",
  1112. "festival": "李克强诞辰纪念日",
  1113. "category": "纪念日"
  1114. }
  1115. ],
  1116. "2025-10-27": [
  1117. {
  1118. "level": "P0",
  1119. "festival": "李克强逝世纪念日",
  1120. "category": "纪念日"
  1121. },
  1122. {
  1123. "level": "P1",
  1124. "festival": "吴尊友逝世纪念日",
  1125. "category": "纪念日"
  1126. }
  1127. ],
  1128. "2025-09-18": [
  1129. {
  1130. "level": "P0",
  1131. "festival": "九一八纪念日",
  1132. "category": "纪念日"
  1133. }
  1134. ],
  1135. "2025-05-22": [
  1136. {
  1137. "level": "P1",
  1138. "festival": "袁隆平逝世纪念日",
  1139. "category": "纪念日"
  1140. }
  1141. ],
  1142. "2025-10-24": [
  1143. {
  1144. "level": "P1",
  1145. "festival": "彭德怀诞辰纪念日",
  1146. "category": "纪念日"
  1147. }
  1148. ],
  1149. "2025-11-29": [
  1150. {
  1151. "level": "P1",
  1152. "festival": "彭德怀逝世纪念日",
  1153. "category": "纪念日"
  1154. }
  1155. ],
  1156. "2025-12-01": [
  1157. {
  1158. "level": "P1",
  1159. "festival": "朱德诞辰纪念日",
  1160. "category": "纪念日"
  1161. }
  1162. ],
  1163. "2025-07-06": [
  1164. {
  1165. "level": "P1",
  1166. "festival": "朱德逝世纪念日",
  1167. "category": "纪念日"
  1168. }
  1169. ]
  1170. },
  1171. "2026": {
  1172. "2026-01-01": [
  1173. {
  1174. "level": "P0",
  1175. "festival": "元旦",
  1176. "category": "节假日"
  1177. }
  1178. ],
  1179. "2026-01-26": [
  1180. {
  1181. "level": "P0",
  1182. "festival": "腊八节",
  1183. "category": "节假日"
  1184. }
  1185. ],
  1186. "2026-02-10": [
  1187. {
  1188. "level": "P0",
  1189. "festival": "小年",
  1190. "category": "节假日"
  1191. }
  1192. ],
  1193. "2026-03-12": [
  1194. {
  1195. "level": "P1",
  1196. "festival": "植树节",
  1197. "category": "节假日"
  1198. },
  1199. {
  1200. "level": "P1",
  1201. "festival": "植树节",
  1202. "category": "节假日"
  1203. },
  1204. {
  1205. "level": "P1",
  1206. "festival": "孙中山逝世纪念日",
  1207. "category": "纪念日"
  1208. }
  1209. ],
  1210. "2026-02-11": [
  1211. {
  1212. "level": "P0",
  1213. "festival": "小年",
  1214. "category": "节假日"
  1215. }
  1216. ],
  1217. "2026-02-16": [
  1218. {
  1219. "level": "P0",
  1220. "festival": "除夕",
  1221. "category": "节假日"
  1222. }
  1223. ],
  1224. "2026-02-17": [
  1225. {
  1226. "level": "P0",
  1227. "festival": "春节",
  1228. "category": "节假日"
  1229. },
  1230. {
  1231. "level": "P0",
  1232. "festival": "正月初一",
  1233. "category": "节假日"
  1234. }
  1235. ],
  1236. "2026-02-18": [
  1237. {
  1238. "level": "P0",
  1239. "festival": "正月初二",
  1240. "category": "节假日"
  1241. },
  1242. {
  1243. "level": "P1",
  1244. "festival": "雨水",
  1245. "category": "节气"
  1246. }
  1247. ],
  1248. "2026-02-19": [
  1249. {
  1250. "level": "P0",
  1251. "festival": "正月初三",
  1252. "category": "节假日"
  1253. },
  1254. {
  1255. "level": "P0",
  1256. "festival": "邓小平逝世纪念日",
  1257. "category": "纪念日"
  1258. }
  1259. ],
  1260. "2026-02-20": [
  1261. {
  1262. "level": "P0",
  1263. "festival": "正月初四",
  1264. "category": "节假日"
  1265. }
  1266. ],
  1267. "2026-02-21": [
  1268. {
  1269. "level": "P0",
  1270. "festival": "正月初五",
  1271. "category": "节假日"
  1272. }
  1273. ],
  1274. "2026-02-14": [
  1275. {
  1276. "level": "P1",
  1277. "festival": "情人节",
  1278. "category": "节假日"
  1279. }
  1280. ],
  1281. "2026-03-03": [
  1282. {
  1283. "level": "P0",
  1284. "festival": "元宵节",
  1285. "category": "节假日"
  1286. }
  1287. ],
  1288. "2026-03-20": [
  1289. {
  1290. "level": "P0",
  1291. "festival": "龙抬头",
  1292. "category": "节假日"
  1293. },
  1294. {
  1295. "level": "P1",
  1296. "festival": "春分",
  1297. "category": "节气"
  1298. }
  1299. ],
  1300. "2026-03-08": [
  1301. {
  1302. "level": "P1",
  1303. "festival": "妇女节",
  1304. "category": "节假日"
  1305. }
  1306. ],
  1307. "2026-05-01": [
  1308. {
  1309. "level": "P0",
  1310. "festival": "劳动节",
  1311. "category": "节假日"
  1312. }
  1313. ],
  1314. "2026-05-10": [
  1315. {
  1316. "level": "P0",
  1317. "festival": "母亲节",
  1318. "category": "节假日"
  1319. }
  1320. ],
  1321. "2026-06-01": [
  1322. {
  1323. "level": "P1",
  1324. "festival": "儿童节",
  1325. "category": "节假日"
  1326. }
  1327. ],
  1328. "2026-06-19": [
  1329. {
  1330. "level": "P0",
  1331. "festival": "端午节",
  1332. "category": "节假日"
  1333. }
  1334. ],
  1335. "2026-06-21": [
  1336. {
  1337. "level": "P0",
  1338. "festival": "父亲节",
  1339. "category": "节假日"
  1340. },
  1341. {
  1342. "level": "P1",
  1343. "festival": "夏至",
  1344. "category": "节气"
  1345. }
  1346. ],
  1347. "2026-07-01": [
  1348. {
  1349. "level": "P0",
  1350. "festival": "建党节",
  1351. "category": "节假日"
  1352. }
  1353. ],
  1354. "2026-08-01": [
  1355. {
  1356. "level": "P1",
  1357. "festival": "建军节",
  1358. "category": "节假日"
  1359. }
  1360. ],
  1361. "2026-08-19": [
  1362. {
  1363. "level": "P0",
  1364. "festival": "七夕节",
  1365. "category": "节假日"
  1366. }
  1367. ],
  1368. "2026-08-27": [
  1369. {
  1370. "level": "P1",
  1371. "festival": "中元节",
  1372. "category": "节假日"
  1373. }
  1374. ],
  1375. "2026-09-25": [
  1376. {
  1377. "level": "P0",
  1378. "festival": "中秋节",
  1379. "category": "节假日"
  1380. }
  1381. ],
  1382. "2026-10-01": [
  1383. {
  1384. "level": "P0",
  1385. "festival": "国庆节",
  1386. "category": "节假日"
  1387. }
  1388. ],
  1389. "2026-10-18": [
  1390. {
  1391. "level": "P0",
  1392. "festival": "重阳节",
  1393. "category": "节假日"
  1394. }
  1395. ],
  1396. "2026-11-26": [
  1397. {
  1398. "level": "P1",
  1399. "festival": "感恩节",
  1400. "category": "节假日"
  1401. }
  1402. ],
  1403. "2026-12-13": [
  1404. {
  1405. "level": "P0",
  1406. "festival": "公祭日",
  1407. "category": "节假日"
  1408. }
  1409. ],
  1410. "2026-12-24": [
  1411. {
  1412. "level": "P1",
  1413. "festival": "平安夜",
  1414. "category": "节假日"
  1415. }
  1416. ],
  1417. "2026-12-25": [
  1418. {
  1419. "level": "P1",
  1420. "festival": "圣诞节",
  1421. "category": "节假日"
  1422. }
  1423. ],
  1424. "2026-01-05": [
  1425. {
  1426. "level": "P1",
  1427. "festival": "小寒",
  1428. "category": "节气"
  1429. }
  1430. ],
  1431. "2026-01-20": [
  1432. {
  1433. "level": "P1",
  1434. "festival": "大寒",
  1435. "category": "节气"
  1436. }
  1437. ],
  1438. "2026-02-04": [
  1439. {
  1440. "level": "P0",
  1441. "festival": "立春",
  1442. "category": "节气"
  1443. }
  1444. ],
  1445. "2026-03-05": [
  1446. {
  1447. "level": "P1",
  1448. "festival": "惊蛰",
  1449. "category": "节气"
  1450. },
  1451. {
  1452. "level": "P0",
  1453. "festival": "周恩来诞辰纪念日",
  1454. "category": "纪念日"
  1455. },
  1456. {
  1457. "level": "P1",
  1458. "festival": "学雷锋纪念日纪念日",
  1459. "category": "纪念日"
  1460. }
  1461. ],
  1462. "2026-04-05": [
  1463. {
  1464. "level": "P0",
  1465. "festival": "清明",
  1466. "category": "节气"
  1467. }
  1468. ],
  1469. "2026-04-20": [
  1470. {
  1471. "level": "P1",
  1472. "festival": "谷雨",
  1473. "category": "节气"
  1474. }
  1475. ],
  1476. "2026-05-05": [
  1477. {
  1478. "level": "P0",
  1479. "festival": "立夏",
  1480. "category": "节气"
  1481. }
  1482. ],
  1483. "2026-05-21": [
  1484. {
  1485. "level": "P1",
  1486. "festival": "小满",
  1487. "category": "节气"
  1488. }
  1489. ],
  1490. "2026-06-05": [
  1491. {
  1492. "level": "P1",
  1493. "festival": "芒种",
  1494. "category": "节气"
  1495. }
  1496. ],
  1497. "2026-07-07": [
  1498. {
  1499. "level": "P1",
  1500. "festival": "小暑",
  1501. "category": "节气"
  1502. },
  1503. {
  1504. "level": "P0",
  1505. "festival": "七七事变纪念日",
  1506. "category": "纪念日"
  1507. }
  1508. ],
  1509. "2026-07-23": [
  1510. {
  1511. "level": "P1",
  1512. "festival": "大暑",
  1513. "category": "节气"
  1514. }
  1515. ],
  1516. "2026-08-07": [
  1517. {
  1518. "level": "P0",
  1519. "festival": "立秋",
  1520. "category": "节气"
  1521. }
  1522. ],
  1523. "2026-08-23": [
  1524. {
  1525. "level": "P1",
  1526. "festival": "处暑",
  1527. "category": "节气"
  1528. }
  1529. ],
  1530. "2026-09-07": [
  1531. {
  1532. "level": "P1",
  1533. "festival": "白露",
  1534. "category": "节气"
  1535. },
  1536. {
  1537. "level": "P1",
  1538. "festival": "袁隆平诞辰纪念日",
  1539. "category": "纪念日"
  1540. }
  1541. ],
  1542. "2026-09-23": [
  1543. {
  1544. "level": "P1",
  1545. "festival": "秋分",
  1546. "category": "节气"
  1547. }
  1548. ],
  1549. "2026-10-08": [
  1550. {
  1551. "level": "P1",
  1552. "festival": "寒露",
  1553. "category": "节气"
  1554. }
  1555. ],
  1556. "2026-10-23": [
  1557. {
  1558. "level": "P1",
  1559. "festival": "霜降",
  1560. "category": "节气"
  1561. }
  1562. ],
  1563. "2026-11-07": [
  1564. {
  1565. "level": "P0",
  1566. "festival": "立冬",
  1567. "category": "节气"
  1568. }
  1569. ],
  1570. "2026-11-22": [
  1571. {
  1572. "level": "P1",
  1573. "festival": "小雪",
  1574. "category": "节气"
  1575. }
  1576. ],
  1577. "2026-12-07": [
  1578. {
  1579. "level": "P1",
  1580. "festival": "大雪",
  1581. "category": "节气"
  1582. }
  1583. ],
  1584. "2026-12-22": [
  1585. {
  1586. "level": "P0",
  1587. "festival": "冬至",
  1588. "category": "节气"
  1589. }
  1590. ],
  1591. "2026-11-12": [
  1592. {
  1593. "level": "P1",
  1594. "festival": "孙中山诞辰纪念日",
  1595. "category": "纪念日"
  1596. }
  1597. ],
  1598. "2026-12-26": [
  1599. {
  1600. "level": "P0",
  1601. "festival": "毛主席诞辰纪念日",
  1602. "category": "纪念日"
  1603. }
  1604. ],
  1605. "2026-09-09": [
  1606. {
  1607. "level": "P0",
  1608. "festival": "毛主席逝世纪念日",
  1609. "category": "纪念日"
  1610. }
  1611. ],
  1612. "2026-01-08": [
  1613. {
  1614. "level": "P0",
  1615. "festival": "周恩来逝世纪念日",
  1616. "category": "纪念日"
  1617. }
  1618. ],
  1619. "2026-08-22": [
  1620. {
  1621. "level": "P0",
  1622. "festival": "邓小平诞辰纪念日",
  1623. "category": "纪念日"
  1624. }
  1625. ],
  1626. "2026-07-03": [
  1627. {
  1628. "level": "P0",
  1629. "festival": "李克强诞辰纪念日",
  1630. "category": "纪念日"
  1631. }
  1632. ],
  1633. "2026-10-27": [
  1634. {
  1635. "level": "P0",
  1636. "festival": "李克强逝世纪念日",
  1637. "category": "纪念日"
  1638. },
  1639. {
  1640. "level": "P1",
  1641. "festival": "吴尊友逝世纪念日",
  1642. "category": "纪念日"
  1643. }
  1644. ],
  1645. "2026-09-18": [
  1646. {
  1647. "level": "P0",
  1648. "festival": "九一八纪念日",
  1649. "category": "纪念日"
  1650. }
  1651. ],
  1652. "2026-05-22": [
  1653. {
  1654. "level": "P1",
  1655. "festival": "袁隆平逝世纪念日",
  1656. "category": "纪念日"
  1657. }
  1658. ],
  1659. "2026-10-24": [
  1660. {
  1661. "level": "P1",
  1662. "festival": "彭德怀诞辰纪念日",
  1663. "category": "纪念日"
  1664. }
  1665. ],
  1666. "2026-11-29": [
  1667. {
  1668. "level": "P1",
  1669. "festival": "彭德怀逝世纪念日",
  1670. "category": "纪念日"
  1671. }
  1672. ],
  1673. "2026-12-01": [
  1674. {
  1675. "level": "P1",
  1676. "festival": "朱德诞辰纪念日",
  1677. "category": "纪念日"
  1678. }
  1679. ],
  1680. "2026-07-06": [
  1681. {
  1682. "level": "P1",
  1683. "festival": "朱德逝世纪念日",
  1684. "category": "纪念日"
  1685. }
  1686. ]
  1687. }
  1688. }
  1689. def date_checker(self):
  1690. """
  1691. check date of reminder
  1692. :return:
  1693. """
  1694. year = datetime.datetime.today().strftime("%Y")
  1695. today = datetime.datetime.today()
  1696. tomorrow = today + datetime.timedelta(days=1)
  1697. tomorrow = tomorrow.strftime("%Y-%m-%d")
  1698. in_three_days = today + datetime.timedelta(days=3)
  1699. in_three_days = in_three_days.strftime("%Y-%m-%d")
  1700. if self.festival_dict[year].get(tomorrow):
  1701. festival_list = self.festival_dict[year][tomorrow]
  1702. for festival_ in festival_list:
  1703. bot(festival_info=festival_, days_count=1, date_str=tomorrow)
  1704. time.sleep(30)
  1705. if self.festival_dict[year].get(in_three_days):
  1706. festival_list = self.festival_dict[year][in_three_days]
  1707. for festival_ in festival_list:
  1708. print(festival_)
  1709. bot(festival_info=festival_, days_count=3, date_str=in_three_days)
  1710. time.sleep(30)
  1711. def run(self):
  1712. """
  1713. 执行定时任务
  1714. :return:
  1715. """
  1716. schedule.every().day.at("10:00").do(self.date_checker)
  1717. while True:
  1718. schedule.run_pending()
  1719. time.sleep(10)
  1720. if __name__ == "__main__":
  1721. F = FestivalReminder()
  1722. F.run()