festival_reminder.py 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  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. url = "https://open.feishu.cn/open-apis/bot/v2/hook/8eda2f73-e6f5-4fcd-944e-5a34579e1049"
  17. # url = "https://open.feishu.cn/open-apis/bot/v2/hook/f32c0456-847f-41f3-97db-33fcc1616bcd"
  18. headers = {"Content-Type": "application/json"}
  19. if level == "P0":
  20. payload = {
  21. "msg_type": "interactive",
  22. "card": {
  23. "elements": [
  24. {
  25. "tag": "div",
  26. "text": {
  27. "content": "📣热点内容节点通知,请注意查收<at id=all></at>\n",
  28. "tag": "lark_md"
  29. }
  30. },
  31. {
  32. "tag": "div",
  33. "text": {
  34. "content": "节日类型: **{}**\n距离**{}**还有**{}天**,请提前做好内容准备哦\n**{}日期: \t{}**".format(
  35. category, festival, days_count, festival, date_str
  36. ),
  37. "tag": "lark_md",
  38. },
  39. },
  40. ],
  41. "header": {"title": {"content": "【🔥P0重点关注】", "tag": "plain_text"}},
  42. },
  43. }
  44. requests.request("POST", url=url, headers=headers, data=json.dumps(payload))
  45. if level == "P1":
  46. payload = {
  47. "msg_type": "interactive",
  48. "card": {
  49. "elements": [
  50. {
  51. "tag": "div",
  52. "text": {
  53. "content": "📣热点内容节点通知,请注意查收<at id=all></at>\n",
  54. "tag": "lark_md"
  55. }
  56. },
  57. {
  58. "tag": "div",
  59. "text": {
  60. "content": "节日类型: **{}**\n距离**{}**还有**{}天**,请提前做好内容准备哦\n**{}日期: \t{}**".format(
  61. category, festival, days_count, festival, date_str
  62. ),
  63. "tag": "lark_md",
  64. },
  65. },
  66. ],
  67. "header": {"title": {"content": "【💡P1关注】", "tag": "plain_text"}},
  68. },
  69. }
  70. requests.request("POST", url=url, headers=headers, data=json.dumps(payload))
  71. class FestivalReminder(object):
  72. """
  73. 节日提醒对象
  74. """
  75. def __init__(self):
  76. self.festival_dict = {
  77. "2024": {
  78. "2024-01-01": [{"level": "P0", "festival": "元旦", "category": "节假日"}],
  79. "2024-01-18": [{"level": "P0", "festival": "腊八节", "category": "节假日"}],
  80. "2024-02-02": [{"level": "P0", "festival": "小年", "category": "节假日"}],
  81. "2024-02-03": [{"level": "p0", "festival": "小年", "category": "节假日"}],
  82. "2024-02-09": [{"level": "P0", "festival": "除夕", "category": "节假日"}],
  83. "2024-02-10": [
  84. {"level": "P0", "festival": "春节", "category": "节假日"},
  85. {"level": "P0", "festival": "正月初一", "category": "节假日"},
  86. ],
  87. "2024-02-11": [{"level": "P0", "festival": "正月初二", "category": "节假日"}],
  88. "2024-02-12": [{"level": "P0", "festival": "正月初三", "category": "节假日"}],
  89. "2024-02-13": [{"level": "P0", "festival": "正月初四", "category": "节假日"}],
  90. "2024-02-14": [
  91. {"level": "P0", "festival": "正月初五", "category": "节假日"},
  92. {"level": "P1", "festival": "情人节", "category": "节假日"},
  93. ],
  94. "2024-02-24": [{"level": "P0", "festival": "元宵节", "category": "节假日"}],
  95. "2024-03-11": [{"level": "P0", "festival": "龙抬头", "category": "节假日"}],
  96. "2024-03-08": [{"level": "P1", "festival": "妇女节", "category": "节假日"}],
  97. "2024-05-01": [{"level": "P0", "festival": "劳动节", "category": "节假日"}],
  98. "2024-05-12": [{"level": "P0", "festival": "母亲节", "category": "节假日"}],
  99. "2024-06-01": [{"level": "P1", "festival": "儿童节", "category": "节假日"}],
  100. "2024-06-10": [{"level": "P0", "festival": "端午节", "category": "节假日"}],
  101. "2024-06-16": [{"level": "P0", "festival": "父亲节", "category": "节假日"}],
  102. "2024-07-01": [{"level": "P0", "festival": "建党节", "category": "节假日"}],
  103. "2024-07-07": [{"level": "P0", "festival": "七七事变", "category": "节假日"}],
  104. "2024-08-01": [{"level": "P1", "festival": "建军节", "category": "节假日"}],
  105. "2024-08-10": [{"level": "P0", "festival": "七夕节", "category": "节假日"}],
  106. "2024-08-18": [{"level": "P1", "festival": "中元节", "category": "节假日"}],
  107. "2024-09-17": [{"level": "P0", "festival": "中秋节", "category": "节假日"}],
  108. "2024-10-01": [{"level": "P0", "festival": "国庆节", "category": "节假日"}],
  109. "2024-10-11": [{"level": "P0", "festival": "重阳节", "category": "节假日"}],
  110. "2024-11-28": [{"level": "P1", "festival": "感恩节", "category": "节假日"}],
  111. "2024-12-13": [{"level": "P0", "festival": "公祭日", "category": "节假日"}],
  112. "2024-12-24": [{"level": "P1", "festival": "平安夜", "category": "节假日"}],
  113. "2024-12-25": [{"level": "P1", "festival": "圣诞节", "category": "节假日"}],
  114. "2024-01-06": [{"level": "P1", "festival": "小寒", "category": "节气"}],
  115. "2024-01-20": [{"level": "P1", "festival": "大寒", "category": "节气"}],
  116. "2024-02-04": [{"level": "P0", "festival": "立春", "category": "节气"}],
  117. "2024-02-19": [
  118. {"level": "P1", "festival": "雨水", "category": "节气"},
  119. {"level": "P0", "festival": "邓小平逝世纪念日", "category": "纪念日"},
  120. ],
  121. "2024-03-05": [
  122. {"level": "P1", "festival": "惊蛰", "category": "节气"},
  123. {"level": "P0", "festival": "周恩来诞辰纪念日", "category": "纪念日"},
  124. {"level": "P1", "festival": "学雷锋纪念日", "category": "纪念日"},
  125. ],
  126. "2024-03-20": [{"level": "P1", "festival": "春分", "category": "节气"}],
  127. "2024-04-04": [{"level": "P0", "festival": "清明", "category": "节气"}],
  128. "2024-04-19": [{"level": "P1", "festival": "谷雨", "category": "节气"}],
  129. "2024-05-05": [{"level": "P0", "festival": "立夏", "category": "节气"}],
  130. "2024-05-20": [{"level": "P1", "festival": "小满", "category": "节气"}],
  131. "2024-06-05": [{"level": "P1", "festival": "芒种", "category": "节气"}],
  132. "2024-06-21": [{"level": "P1", "festival": "夏至", "category": "节气"}],
  133. "2024-07-06": [
  134. {"level": "P1", "festival": "小暑", "category": "节气"},
  135. {"level": "P1", "festival": "朱德逝世纪念日", "category": "纪念日"},
  136. ],
  137. "2024-07-22": [{"level": "P1", "festival": "大暑", "category": "节气"}],
  138. "2024-08-07": [{"level": "P0", "festival": "立秋", "category": "节气"}],
  139. "2024-08-22": [
  140. {"level": "P1", "festival": "处暑", "category": "节气"},
  141. {"level": "P0", "festival": "邓小平诞辰纪念日", "category": "纪念日"},
  142. ],
  143. "2024-09-07": [
  144. {"level": "P1", "festival": "白露", "category": "节气"},
  145. {"level": "P1", "festival": "袁隆平诞辰纪念日", "category": "纪念日"},
  146. ],
  147. "2024-09-22": [{"level": "P1", "festival": "秋分", "category": "节气"}],
  148. "2024-10-08": [{"level": "P1", "festival": "寒露", "category": "节气"}],
  149. "2024-10-23": [{"level": "P1", "festival": "霜降", "category": "节气"}],
  150. "2024-11-07": [{"level": "P0", "festival": "立冬", "category": "节气"}],
  151. "2024-11-22": [{"level": "P1", "festival": "小雪", "category": "节气"}],
  152. "2024-12-06": [{"level": "P1", "festival": "大雪", "category": "节气"}],
  153. "2024-12-21": [{"level": "P0", "festival": "冬至", "category": "节气"}],
  154. "2024-11-12": [{"level": "P1", "festival": "孙中山诞辰纪念日", "category": "纪念日"}],
  155. "2024-03-12": [{"level": "P1", "festival": "孙中山逝世纪念日", "category": "纪念日"}],
  156. "2024-12-26": [{"level": "P0", "festival": "毛主席诞辰纪念日", "category": "纪念日"}],
  157. "2024-09-09": [{"level": "P0", "festival": "毛主席逝世纪念日", "category": "纪念日"}],
  158. "2024-01-08": [{"level": "P0", "festival": "周恩来逝世纪念日", "category": "纪念日"}],
  159. "2024-07-03": [{"level": "P0", "festival": "李克强诞辰纪念日", "category": "纪念日"}],
  160. "2024-10-27": [
  161. {"level": "P0", "festival": "李克强逝世纪念日", "category": "纪念日"},
  162. {"level": "P1", "festival": "吴尊友逝世纪念日", "category": "纪念日"},
  163. ],
  164. "2024-05-22": [{"level": "P1", "festival": "袁隆平逝世纪念日", "category": "纪念日"}],
  165. "2024-10-24": [{"level": "P1", "festival": "彭德怀诞辰纪念日", "category": "纪念日"}],
  166. "2024-11-29": [{"level": "P1", "festival": "彭德怀逝世纪念日", "category": "纪念日"}],
  167. "2024-12-01": [{"level": "P1", "festival": "朱德诞辰纪念日", "category": "纪念日"}],
  168. },
  169. "2025": {
  170. "2025-01-01": [{"level": "P0", "festival": "元旦", "category": "节假日"}],
  171. "2025-01-07": [{"level": "P0", "festival": "腊八节", "category": "节假日"}],
  172. "2025-01-22": [{"level": "P0", "festival": "小年", "category": "节假日"}],
  173. "2025-01-23": [{"level": "p0", "festival": "小年", "category": "节假日"}],
  174. "2025-01-28": [{"level": "P0", "festival": "除夕", "category": "节假日"}],
  175. "2025-01-29": [
  176. {"level": "P0", "festival": "春节", "category": "节假日"},
  177. {"level": "P0", "festival": "正月初一", "category": "节假日"},
  178. ],
  179. "2025-01-30": [{"level": "P0", "festival": "正月初二", "category": "节假日"}],
  180. "2025-01-31": [{"level": "P0", "festival": "正月初三", "category": "节假日"}],
  181. "2025-02-01": [{"level": "P0", "festival": "正月初四", "category": "节假日"}],
  182. "2025-02-02": [{"level": "P0", "festival": "正月初五", "category": "节假日"}],
  183. "2025-02-14": [{"level": "P1", "festival": "情人节", "category": "节假日"}],
  184. "2025-02-22": [{"level": "P0", "festival": "元宵节", "category": "节假日"}],
  185. "2025-03-01": [{"level": "P0", "festival": "龙抬头", "category": "节假日"}],
  186. "2025-03-08": [{"level": "P1", "festival": "妇女节", "category": "节假日"}],
  187. "2025-05-01": [{"level": "P0", "festival": "劳动节", "category": "节假日"}],
  188. "2025-05-11": [{"level": "P0", "festival": "母亲节", "category": "节假日"}],
  189. "2025-06-01": [{"level": "P1", "festival": "儿童节", "category": "节假日"}],
  190. "2025-05-31": [{"level": "P0", "festival": "端午节", "category": "节假日"}],
  191. "2025-06-15": [{"level": "P0", "festival": "父亲节", "category": "节假日"}],
  192. "2025-07-01": [{"level": "P0", "festival": "建党节", "category": "节假日"}],
  193. "2054-07-07": [{"level": "P0", "festival": "七七事变", "category": "节假日"}],
  194. "2025-08-01": [{"level": "P1", "festival": "建军节", "category": "节假日"}],
  195. "2025-08-29": [{"level": "P0", "festival": "七夕节", "category": "节假日"}],
  196. "2025-09-06": [{"level": "P1", "festival": "中元节", "category": "节假日"}],
  197. "2025-10-06": [{"level": "P0", "festival": "中秋节", "category": "节假日"}],
  198. "2025-10-01": [{"level": "P0", "festival": "国庆节", "category": "节假日"}],
  199. "2025-10-29": [{"level": "P0", "festival": "重阳节", "category": "节假日"}],
  200. "2024-11-27": [{"level": "P1", "festival": "感恩节", "category": "节假日"}],
  201. "2025-12-13": [{"level": "P0", "festival": "公祭日", "category": "节假日"}],
  202. "2025-12-24": [{"level": "P1", "festival": "平安夜", "category": "节假日"}],
  203. "2025-12-25": [{"level": "P1", "festival": "圣诞节", "category": "节假日"}],
  204. "2025-01-05": [{"level": "P1", "festival": "小寒", "category": "节气"}],
  205. "2025-01-20": [{"level": "P1", "festival": "大寒", "category": "节气"}],
  206. "2025-02-03": [{"level": "P0", "festival": "立春", "category": "节气"}],
  207. "2025-02-18": [{"level": "P1", "festival": "雨水", "category": "节气"}],
  208. "2025-03-05": [
  209. {"level": "P1", "festival": "惊蛰", "category": "节气"},
  210. {"level": "P0", "festival": "周恩来诞辰纪念日", "category": "纪念日"},
  211. {"level": "P1", "festival": "学雷锋纪念日", "category": "纪念日"},
  212. ],
  213. "2025-03-20": [{"level": "P1", "festival": "春分", "category": "节气"}],
  214. "2025-04-04": [{"level": "P0", "festival": "清明", "category": "节气"}],
  215. "2025-04-20": [{"level": "P1", "festival": "谷雨", "category": "节气"}],
  216. "2025-05-05": [{"level": "P0", "festival": "立夏", "category": "节气"}],
  217. "2025-05-21": [{"level": "P1", "festival": "小满", "category": "节气"}],
  218. "2025-06-05": [{"level": "P1", "festival": "芒种", "category": "节气"}],
  219. "2025-06-21": [{"level": "P1", "festival": "夏至", "category": "节气"}],
  220. "2025-07-07": [{"level": "P1", "festival": "小暑", "category": "节气"}],
  221. "2025-07-22": [{"level": "P1", "festival": "大暑", "category": "节气"}],
  222. "2025-08-07": [{"level": "P0", "festival": "立秋", "category": "节气"}],
  223. "2025-08-23": [{"level": "P1", "festival": "处暑", "category": "节气"}],
  224. "2025-09-07": [
  225. {"level": "P1", "festival": "白露", "category": "节气"},
  226. {"level": "P1", "festival": "袁隆平诞辰纪念日", "category": "纪念日"},
  227. ],
  228. "2025-09-23": [{"level": "P1", "festival": "秋分", "category": "节气"}],
  229. "2025-10-08": [{"level": "P1", "festival": "寒露", "category": "节气"}],
  230. "2025-10-23": [{"level": "P1", "festival": "霜降", "category": "节气"}],
  231. "2025-11-07": [{"level": "P0", "festival": "立冬", "category": "节气"}],
  232. "2025-11-22": [{"level": "P1", "festival": "小雪", "category": "节气"}],
  233. "2025-12-07": [{"level": "P1", "festival": "大雪", "category": "节气"}],
  234. "2025-12-21": [{"level": "P0", "festival": "冬至", "category": "节气"}],
  235. "2025-11-12": [{"level": "P1", "festival": "孙中山诞辰纪念日", "category": "纪念日"}],
  236. "2025-03-12": [{"level": "P1", "festival": "孙中山逝世纪念日", "category": "纪念日"}],
  237. "2025-12-26": [{"level": "P0", "festival": "毛主席诞辰纪念日", "category": "纪念日"}],
  238. "2025-09-09": [{"level": "P0", "festival": "毛主席逝世纪念日", "category": "纪念日"}],
  239. "2025-01-08": [{"level": "P0", "festival": "周恩来逝世纪念日", "category": "纪念日"}],
  240. "2025-08-22": [{"level": "P0", "festival": "邓小平诞辰纪念日", "category": "纪念日"}],
  241. "2025-02-19": [{"level": "P0", "festival": "邓小平逝世纪念日", "category": "纪念日"}],
  242. "2025-07-03": [{"level": "P0", "festival": "李克强诞辰纪念日", "category": "纪念日"}],
  243. "2025-10-27": [
  244. {"level": "P0", "festival": "李克强逝世纪念日", "category": "纪念日"},
  245. {"level": "P1", "festival": "吴尊友逝世纪念日", "category": "纪念日"},
  246. ],
  247. "2025-05-22": [{"level": "P1", "festival": "袁隆平逝世纪念日", "category": "纪念日"}],
  248. "2025-10-24": [{"level": "P1", "festival": "彭德怀诞辰纪念日", "category": "纪念日"}],
  249. "2025-11-29": [{"level": "P1", "festival": "彭德怀逝世纪念日", "category": "纪念日"}],
  250. "2025-12-01": [{"level": "P1", "festival": "朱德诞辰纪念日", "category": "纪念日"}],
  251. "2025-07-06": [{"level": "P1", "festival": "朱德逝世纪念日", "category": "纪念日"}],
  252. },
  253. "2026": {
  254. "2026-01-01": [{"level": "P0", "festival": "元旦", "category": "节假日"}],
  255. "2026-01-26": [{"level": "P0", "festival": "腊八节", "category": "节假日"}],
  256. "2026-02-10": [{"level": "P0", "festival": "小年", "category": "节假日"}],
  257. "2026-02-11": [{"level": "p0", "festival": "小年", "category": "节假日"}],
  258. "2026-02-16": [{"level": "P0", "festival": "除夕", "category": "节假日"}],
  259. "2026-02-17": [
  260. {"level": "P0", "festival": "春节", "category": "节假日"},
  261. {"level": "P0", "festival": "正月初一", "category": "节假日"},
  262. ],
  263. "2026-02-18": [
  264. {"level": "P0", "festival": "正月初二", "category": "节假日"},
  265. {"level": "P1", "festival": "雨水", "category": "节气"},
  266. ],
  267. "2026-02-19": [
  268. {"level": "P0", "festival": "正月初三", "category": "节假日"},
  269. {"level": "P0", "festival": "邓小平逝世纪念日", "category": "纪念日"},
  270. ],
  271. "2026-02-20": [{"level": "P0", "festival": "正月初四", "category": "节假日"}],
  272. "2026-02-21": [{"level": "P0", "festival": "正月初五", "category": "节假日"}],
  273. "2026-02-14": [{"level": "P1", "festival": "情人节", "category": "节假日"}],
  274. "2026-03-03": [{"level": "P0", "festival": "元宵节", "category": "节假日"}],
  275. "2026-03-20": [
  276. {"level": "P0", "festival": "龙抬头", "category": "节假日"},
  277. {"level": "P1", "festival": "春分", "category": "节气"},
  278. ],
  279. "2026-03-08": [{"level": "P1", "festival": "妇女节", "category": "节假日"}],
  280. "2026-05-01": [{"level": "P0", "festival": "劳动节", "category": "节假日"}],
  281. "2026-05-10": [{"level": "P0", "festival": "母亲节", "category": "节假日"}],
  282. "2026-06-01": [{"level": "P1", "festival": "儿童节", "category": "节假日"}],
  283. "2026-06-19": [{"level": "P0", "festival": "端午节", "category": "节假日"}],
  284. "2026-06-21": [
  285. {"level": "P0", "festival": "父亲节", "category": "节假日"},
  286. {"level": "P1", "festival": "夏至", "category": "节气"},
  287. ],
  288. "2026-07-01": [{"level": "P0", "festival": "建党节", "category": "节假日"}],
  289. "2026-07-07": [
  290. {"level": "P0", "festival": "七七事变", "category": "节假日"},
  291. {"level": "P1", "festival": "小暑", "category": "节气"},
  292. ],
  293. "2026-08-01": [{"level": "P1", "festival": "建军节", "category": "节假日"}],
  294. "2026-08-19": [{"level": "P0", "festival": "七夕节", "category": "节假日"}],
  295. "2026-08-27": [{"level": "P1", "festival": "中元节", "category": "节假日"}],
  296. "2026-09-25": [{"level": "P0", "festival": "中秋节", "category": "节假日"}],
  297. "2026-10-01": [{"level": "P0", "festival": "国庆节", "category": "节假日"}],
  298. "2026-10-18": [{"level": "P0", "festival": "重阳节", "category": "节假日"}],
  299. "2026-11-26": [{"level": "P1", "festival": "感恩节", "category": "节假日"}],
  300. "2026-12-13": [{"level": "P0", "festival": "公祭日", "category": "节假日"}],
  301. "2026-12-24": [{"level": "P1", "festival": "平安夜", "category": "节假日"}],
  302. "2026-12-25": [{"level": "P1", "festival": "圣诞节", "category": "节假日"}],
  303. "2026-01-05": [{"level": "P1", "festival": "小寒", "category": "节气"}],
  304. "2026-01-20": [{"level": "P1", "festival": "大寒", "category": "节气"}],
  305. "2026-02-04": [{"level": "P0", "festival": "立春", "category": "节气"}],
  306. "2026-03-05": [
  307. {"level": "P1", "festival": "惊蛰", "category": "节气"},
  308. {"level": "P0", "festival": "周恩来诞辰纪念日", "category": "纪念日"},
  309. {"level": "P1", "festival": "学雷锋纪念日", "category": "纪念日"},
  310. ],
  311. "2026-04-05": [{"level": "P0", "festival": "清明", "category": "节气"}],
  312. "2026-04-20": [{"level": "P1", "festival": "谷雨", "category": "节气"}],
  313. "2026-05-05": [{"level": "P0", "festival": "立夏", "category": "节气"}],
  314. "2026-05-21": [{"level": "P1", "festival": "小满", "category": "节气"}],
  315. "2026-06-05": [{"level": "P1", "festival": "芒种", "category": "节气"}],
  316. "2026-07-23": [{"level": "P1", "festival": "大暑", "category": "节气"}],
  317. "2026-08-07": [{"level": "P0", "festival": "立秋", "category": "节气"}],
  318. "2026-08-23": [{"level": "P1", "festival": "处暑", "category": "节气"}],
  319. "2026-09-07": [
  320. {"level": "P1", "festival": "白露", "category": "节气"},
  321. {"level": "P1", "festival": "袁隆平诞辰纪念日", "category": "纪念日"},
  322. ],
  323. "2026-09-23": [{"level": "P1", "festival": "秋分", "category": "节气"}],
  324. "2026-10-08": [{"level": "P1", "festival": "寒露", "category": "节气"}],
  325. "2026-10-23": [{"level": "P1", "festival": "霜降", "category": "节气"}],
  326. "2026-11-07": [{"level": "P0", "festival": "立冬", "category": "节气"}],
  327. "2026-11-22": [{"level": "P1", "festival": "小雪", "category": "节气"}],
  328. "2026-12-07": [{"level": "P1", "festival": "大雪", "category": "节气"}],
  329. "2026-12-22": [{"level": "P0", "festival": "冬至", "category": "节气"}],
  330. "2026-11-12": [{"level": "P1", "festival": "孙中山诞辰纪念日", "category": "纪念日"}],
  331. "2026-03-12": [{"level": "P1", "festival": "孙中山逝世纪念日", "category": "纪念日"}],
  332. "2026-12-26": [{"level": "P0", "festival": "毛主席诞辰纪念日", "category": "纪念日"}],
  333. "2026-09-09": [{"level": "P0", "festival": "毛主席逝世纪念日", "category": "纪念日"}],
  334. "2026-01-08": [{"level": "P0", "festival": "周恩来逝世纪念日", "category": "纪念日"}],
  335. "2026-08-22": [{"level": "P0", "festival": "邓小平诞辰纪念日", "category": "纪念日"}],
  336. "2026-07-03": [{"level": "P0", "festival": "李克强诞辰纪念日", "category": "纪念日"}],
  337. "2026-10-27": [
  338. {"level": "P0", "festival": "李克强逝世纪念日", "category": "纪念日"},
  339. {"level": "P1", "festival": "吴尊友逝世纪念日", "category": "纪念日"},
  340. ],
  341. "2026-05-22": [{"level": "P1", "festival": "袁隆平逝世纪念日", "category": "纪念日"}],
  342. "2026-10-24": [{"level": "P1", "festival": "彭德怀诞辰纪念日", "category": "纪念日"}],
  343. "2026-11-29": [{"level": "P1", "festival": "彭德怀逝世纪念日", "category": "纪念日"}],
  344. "2026-12-01": [{"level": "P1", "festival": "朱德诞辰纪念日", "category": "纪念日"}],
  345. "2026-07-06": [{"level": "P1", "festival": "朱德逝世纪念日", "category": "纪念日"}],
  346. },
  347. }
  348. def date_checker(self):
  349. """
  350. check date of reminder
  351. :return:
  352. """
  353. year = datetime.datetime.today().strftime("%Y")
  354. today = datetime.datetime.today()
  355. tomorrow = today + datetime.timedelta(days=1)
  356. tomorrow = tomorrow.strftime("%Y-%m-%d")
  357. in_three_days = today + datetime.timedelta(days=3)
  358. in_three_days = in_three_days.strftime("%Y-%m-%d")
  359. if self.festival_dict[year].get(tomorrow):
  360. festival_list = self.festival_dict[year][tomorrow]
  361. for festival_ in festival_list:
  362. bot(festival_info=festival_, days_count=1, date_str=tomorrow)
  363. time.sleep(30)
  364. if self.festival_dict[year].get(in_three_days):
  365. festival_list = self.festival_dict[year][in_three_days]
  366. for festival_ in festival_list:
  367. bot(festival_info=festival_, days_count=3, date_str=in_three_days)
  368. time.sleep(30)
  369. def run(self):
  370. """
  371. 执行定时任务
  372. :return:
  373. """
  374. schedule.every().day.at("10:00").do(self.date_checker)
  375. while True:
  376. schedule.run_pending()
  377. time.sleep(10)
  378. if __name__ == "__main__":
  379. F = FestivalReminder()
  380. # F.run()