このコミットが含まれているのは:
2024-12-23 05:26:28 +09:00
コミット af862a7981
5個のファイルの変更20行の追加12行の削除
+1 -1
ファイルの表示
@@ -1,5 +1,5 @@
/connection.py /connection.py
/__pycache__ __pycache__
/nizika_talking.wav /nizika_talking.wav
/youtube.py /youtube.py
/log.txt /log.txt
ファイルの表示
+2
ファイルの表示
@@ -0,0 +1,2 @@
[mypy]
disable_error_code = import-untyped
サブモジュール nizika_ai が更新されました: 662b7d69de...ed1085535e
+16 -10
ファイルの表示
@@ -10,21 +10,22 @@ from typing import Callable, TypedDict
import cv2 import cv2
import emoji import emoji
import ephem # type: ignore import ephem
import pygame import pygame
import pygame.gfxdraw import pygame.gfxdraw
import pytchat # type: ignore import pytchat
import requests import requests
from cv2 import VideoCapture from cv2 import VideoCapture
from ephem import Moon, Observer, Sun # type: ignore from ephem import Moon, Observer, Sun
from pygame import Rect, Surface from pygame import Rect, Surface
from pygame.font import Font from pygame.font import Font
from pygame.mixer import Sound from pygame.mixer import Sound
from pygame.time import Clock from pygame.time import Clock
from pytchat.core.pytchat import PytchatCore # type: ignore from pytchat.core.pytchat import PytchatCore
from pytchat.processors.default.processor import Chat # type: ignore from pytchat.processors.default.processor import Chat
from common_module import CommonModule from common_module import CommonModule
from nizika_ai.config import DB
from nizika_ai.models import Answer, AnsweredFlag, Query, User from nizika_ai.models import Answer, AnsweredFlag, Query, User
from nizika_ai.consts import AnswerType, Character, GPTModel, Platform, QueryType from nizika_ai.consts import AnswerType, Character, GPTModel, Platform, QueryType
@@ -58,16 +59,18 @@ def main (
if event.type == pygame.QUIT: if event.type == pygame.QUIT:
pygame.quit () pygame.quit ()
sys.exit () sys.exit ()
answer_flags = (AnsweredFlag.where ('platform', Platform.YOUTUBE.value)
.where ('answered', False)
.get ())
if not balloon.enabled: if not balloon.enabled:
answer_flags = (AnsweredFlag.where ('platform', Platform.YOUTUBE.value)
.where ('answered', False)
.get ())
if answer_flags: if answer_flags:
answer_id: int = random.choice (answer_flags).answer_id answer_flag = random.choice (answer_flags)
answer = Answer.find (answer_id) answer = Answer.find (answer_flag.answer_id)
if answer.answer_type == AnswerType.YOUTUBE_REPLY.value: if answer.answer_type == AnswerType.YOUTUBE_REPLY.value:
query = Query.find (answer.query_id) query = Query.find (answer.query_id)
balloon.talk (query.content, answer.content) balloon.talk (query.content, answer.content)
answer_flag.answered = True
answer_flag.save ()
add_query (broadcast) add_query (broadcast)
game.redraw () game.redraw ()
@@ -705,6 +708,7 @@ def add_query (
chat = broadcast.fetch_chat () chat = broadcast.fetch_chat ()
if chat is None: if chat is None:
return return
DB.begin_transaction ()
chat.message = emoji.emojize (chat.message) chat.message = emoji.emojize (chat.message)
message: str = chat.message message: str = chat.message
user = (User.where ('platform', Platform.YOUTUBE.value) user = (User.where ('platform', Platform.YOUTUBE.value)
@@ -726,6 +730,8 @@ def add_query (
query.sent_at = datetime.now () query.sent_at = datetime.now ()
query.answerd = False query.answerd = False
query.save () query.save ()
DB.commit ()
if __name__ == '__main__': if __name__ == '__main__':
main () main ()