ニジカ動画投稿告知機能追加
このコミットが含まれているのは:
@@ -58,6 +58,7 @@ def main (
|
||||
|
||||
last_posted_at = datetime.now () - timedelta (hours = 6)
|
||||
has_got_snack_time = False
|
||||
watched_videos = []
|
||||
while True:
|
||||
now = datetime.now ()
|
||||
|
||||
@@ -86,6 +87,20 @@ def main (
|
||||
parent = records[0]['strong_ref'],
|
||||
root = records[-1]['strong_ref']))
|
||||
|
||||
for datum in [e for e in get_nico_deerjika ()
|
||||
if e['contentId'] not in watched_videos]:
|
||||
watched_videos += [datum['contentId']]
|
||||
|
||||
client.send_post (Talk.main (f"""
|
||||
ニコニコに『{ datum['title'] }』という動画がアップされました。
|
||||
つけられたタグは「{ '」、「'.join (datum['tags']) }」です。
|
||||
概要には次のように書かれています:
|
||||
```html
|
||||
{ datum['description'] }
|
||||
```
|
||||
このことについて、みんなに告知するとともに、ニジカちゃんの感想を教えてください。
|
||||
"""))
|
||||
|
||||
if now.hour == 14 and has_got_snack_time:
|
||||
has_got_snack_time = False
|
||||
|
||||
@@ -127,25 +142,32 @@ def get_nico_deerjika ():
|
||||
'/contents/search')
|
||||
|
||||
now = datetime.now ()
|
||||
base = now - timedelta (hours = 1)
|
||||
|
||||
params = { 'q': '伊地知ニジカ',
|
||||
'targets': 'tagsExact',
|
||||
'targets': 'tags',
|
||||
'_sort': '-startTime',
|
||||
'fields': 'contentId,title,description,tags,startTime',
|
||||
'_limit': 1,
|
||||
'_limit': 20,
|
||||
'jsonFilter': json.dumps ({ 'type': 'or',
|
||||
'filters': [{
|
||||
'type': 'range',
|
||||
'field': 'startTime',
|
||||
'from': ('%04d-%02d-%02dT00:00:00+09:00'
|
||||
% (now.year, now.month, now.day)),
|
||||
'from': ('%04d-%02d-%02dT%02d:%02d:00+09:00'
|
||||
% (base.year, base.month, base.day,
|
||||
base.hour, base.minute)),
|
||||
'to': ('%04d-%02d-%02dT23:59:59+09:00'
|
||||
% (now.year, now.month, now.day)),
|
||||
'include_lower': True }] }) }
|
||||
|
||||
res = requests.get (URL, params = params).json ()
|
||||
|
||||
return res['data'][0] if len (res['data']) > 0 else None
|
||||
data = []
|
||||
for datum in res['data']:
|
||||
datum['tags'] = datum['tags'].split ()
|
||||
data.append (datum)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
新しい課題から参照
ユーザをブロックする