commit 986b46f5580f4c0b3da7b549ef18a17bb9ea9da8 Author: monster <1@2.3> Date: Thu Dec 16 18:19:19 2021 +0800 first commit, chronopher diff --git a/main.py b/main.py new file mode 100644 index 0000000..4c059da --- /dev/null +++ b/main.py @@ -0,0 +1,65 @@ +import requests +import time +from datetime import datetime +import sys + +class Puppet: + def __init__(self, token): + self.token = token + self.api = r'https://hole.thu.monster/_api/v1/' + self.ua = r'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36' + + def post(self, content, *, cw='', allow_search=False): + payload = { + 'cw': cw, + 'text': content, + 'allow_search': '1' if allow_search else '', + 'type': 'text', + } + headers = { + 'user-agent': self.ua, + 'user-token': self.token, + } + url = self.api + 'dopost' + r = requests.post(url, data=payload, headers=headers) + print(r) + + +def getClock(now): + sentence_api = 'https://international.v1.hitokoto.cn/' + params = [ + ['c', 'd'], + ['c', 'i'], + ['c', 'k'], + ] # 见https://developer.hitokoto.cn/sentence/#%E8%BF%94%E5%9B%9E%E6%A0%BC%E5%BC%8F + try: + r = requests.get(sentence_api, params=params) + data = r.json() + except Exception as e: + print(e) + data = None + if data: + hitokoto = data['hitokoto'] + place = data['from'] + author = data['from_who'] + sentence = f'{hitokoto}\n ——{author}《{place}》' + else: + sentence = '' + + now_str = now.strftime(r'%Y-%m-%d %H:%M') + content = f'#报时 **北京时间 {now_str}**\n{sentence}' + return content + + +delay = 10 +puppet = Puppet(sys.argv[1]) + +while True: + now = datetime.now() + # print(getClock(now)) + print(now) + if now.minute == 0 or now.minute == 30: + content = getClock(now) + puppet.post(content, allow_search=True) + delay = 1800 - now.second + time.sleep(delay)