| @@ -92,6 +92,8 @@ async def answer ( | |||
| for answered_flag in answered_flags: | |||
| td: dict[str, Any] | |||
| answer = answered_flag.answer | |||
| answered_flag.answered = True | |||
| answered_flag.save () | |||
| match QueryType (answer.query_rel.query_type): | |||
| case QueryType.BLUESKY_COMMENT: | |||
| td = answer.query_rel.transfer_data or { } | |||
| @@ -104,12 +106,10 @@ async def answer ( | |||
| strong_ref = atproto.models.create_strong_ref (sref) # type: ignore | |||
| reply_ref = ReplyRef (root = strong_ref, parent = strong_ref) | |||
| try: | |||
| client.post (answer.content, reply_to = reply_ref) | |||
| client.post (answer.content[:250], reply_to = reply_ref) | |||
| except Exception as e: | |||
| print (f"[answer/reply] { type (e).__name__ }: { e }") | |||
| continue | |||
| answered_flag.answered = True | |||
| answered_flag.save () | |||
| case QueryType.KIRIBAN | QueryType.NICO_REPORT: | |||
| td = answer.query_rel.transfer_data or { } | |||
| video_code: str | None = td.get ('video_code') | |||
| @@ -136,12 +136,10 @@ async def answer ( | |||
| uri = uri) | |||
| embed_external = AppBskyEmbedExternal.Main (external = external) | |||
| try: | |||
| client.post (answer.content, embed = embed_external) | |||
| client.post (answer.content[:250], embed = embed_external) | |||
| except Exception as e: | |||
| print (f"[answer/nico-post] { type (e).__name__ }: { e }") | |||
| continue | |||
| answered_flag.answered = True | |||
| answered_flag.save () | |||
| case QueryType.SNACK_TIME: | |||
| try: | |||
| with open ('./assets/snack-time.jpg', 'rb') as f: | |||
| @@ -159,10 +157,8 @@ async def answer ( | |||
| '下部に「おやつタイムだ!!!!」という' | |||
| '日本語のテキストが表示されている。'), | |||
| image = client.com.atproto.repo.upload_blob (f).blob) | |||
| client.post (answer.content, | |||
| client.post (answer.content[:250], | |||
| embed = AppBskyEmbedImages.Main (images = [image])) | |||
| answered_flag.answered = True | |||
| answered_flag.save () | |||
| except Exception: | |||
| pass | |||
| case QueryType.HOT_SPRING: | |||
| @@ -180,10 +176,8 @@ async def answer ( | |||
| '下部に「温泉に入ろう!!!」という' | |||
| '日本語のテキストが表示されている。'), | |||
| image = client.com.atproto.repo.upload_blob (f).blob) | |||
| client.post (answer.content, | |||
| client.post (answer.content[:250], | |||
| embed = AppBskyEmbedImages.Main (images = [image])) | |||
| answered_flag.answered = True | |||
| answered_flag.save () | |||
| except Exception: | |||
| pass | |||
| await asyncio.sleep (10) | |||