first commit, chronopher
This commit is contained in:
65
main.py
Normal file
65
main.py
Normal file
@@ -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)
|
||||||
Reference in New Issue
Block a user