festival_reminder.py 57 KB

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