|
|
@@ -41,7 +41,9 @@ async def main ( |
|
|
|
queries_to_answers (), |
|
|
|
report_kiriban (), |
|
|
|
report_nico (), |
|
|
|
update_kiriban_list ()) |
|
|
|
update_kiriban_list (), |
|
|
|
report_snack_time (), |
|
|
|
report_hot_spring_time ()) |
|
|
|
|
|
|
|
|
|
|
|
async def queries_to_answers ( |
|
|
@@ -96,16 +98,7 @@ async def report_kiriban ( |
|
|
|
このことについて、何かお祝いメッセージを下さい。 |
|
|
|
ただし、そのメッセージ内には再生数の数値を添えてください。 |
|
|
|
また、つけられたタグ、コメントからどのような動画か想像し、説明してください。""" |
|
|
|
query = Query () |
|
|
|
query.user_id = None |
|
|
|
query.target_character = Character.DEERJIKA.value |
|
|
|
query.content = prompt |
|
|
|
query.query_type = QueryType.KIRIBAN.value |
|
|
|
query.model = GPTModel.GPT3_TURBO.value |
|
|
|
query.sent_at = datetime.now () |
|
|
|
query.answered = False |
|
|
|
query.transfer_data = { 'video_code': video_code } |
|
|
|
query.save () |
|
|
|
_add_query (prompt, QueryType.KIRIBAN, { 'video_code': video_code }) |
|
|
|
|
|
|
|
# 待ち時間計算 |
|
|
|
dt = datetime.now () |
|
|
@@ -249,16 +242,7 @@ async def report_nico ( |
|
|
|
{ video['description'] } |
|
|
|
``` |
|
|
|
このことについて、みんなに告知するとともに、ニジカちゃんの感想を教えてください。""" |
|
|
|
query = Query () |
|
|
|
query.user_id = None |
|
|
|
query.target_character = Character.DEERJIKA.value |
|
|
|
query.content = prompt |
|
|
|
query.query_type = QueryType.NICO_REPORT.value |
|
|
|
query.model = GPTModel.GPT3_TURBO.value |
|
|
|
query.sent_at = datetime.now () |
|
|
|
query.answered = False |
|
|
|
query.transfer_data = { 'video_code': video['contentId'] } |
|
|
|
query.save () |
|
|
|
_add_query (prompt, QueryType.NICO_REPORT, { 'video_code': video['contentId'] }) |
|
|
|
|
|
|
|
await asyncio.sleep (60) |
|
|
|
|
|
|
@@ -282,6 +266,45 @@ async def wait_until ( |
|
|
|
await asyncio.sleep ((datetime.combine (d, t) - dt).total_seconds ()) |
|
|
|
|
|
|
|
|
|
|
|
async def report_snack_time ( |
|
|
|
) -> None: |
|
|
|
""" |
|
|
|
おやつタイムを報知する. |
|
|
|
""" |
|
|
|
|
|
|
|
while True: |
|
|
|
await wait_until (time (15, 0)) |
|
|
|
_add_query ('おやつタイムだ!!!!', QueryType.SNACK_TIME) |
|
|
|
|
|
|
|
|
|
|
|
async def report_hot_spring_time ( |
|
|
|
) -> None: |
|
|
|
""" |
|
|
|
温泉タイムを報知する. |
|
|
|
""" |
|
|
|
|
|
|
|
while True: |
|
|
|
await wait_until (time (21, 0)) |
|
|
|
_add_query ('温泉に入ろう!!!', QueryType.HOT_SPRING) |
|
|
|
|
|
|
|
|
|
|
|
def _add_query ( |
|
|
|
content: str, |
|
|
|
query_type: QueryType, |
|
|
|
transfer_data: dict | None = None, |
|
|
|
) -> None: |
|
|
|
query = Query () |
|
|
|
query.user_id = None |
|
|
|
query.target_character = Character.DEERJIKA.value |
|
|
|
query.content = content |
|
|
|
query.query_type = query_type.value |
|
|
|
query.model = GPTModel.GPT3_TURBO.value |
|
|
|
query.sent_at = datetime.now () |
|
|
|
query.answered = False |
|
|
|
query.transfer_data = transfer_data |
|
|
|
query.save () |
|
|
|
|
|
|
|
|
|
|
|
def _format_elapsed ( |
|
|
|
uploaded_at: datetime, |
|
|
|
) -> str: |
|
|
|