Browse Source

軽量化

pull/38/head
みてるぞ 1 week ago
parent
commit
cf7eed84bc
1 changed files with 33 additions and 24 deletions
  1. +33
    -24
      main.py

+ 33
- 24
main.py View File

@@ -4,6 +4,7 @@ import math
import os import os
import random import random
import sys import sys
import time
import wave import wave
from datetime import datetime, timedelta from datetime import datetime, timedelta
from enum import Enum, auto from enum import Enum, auto
@@ -60,40 +61,48 @@ def main (
pass pass


waiting_balloon = (False, '', '') waiting_balloon = (False, '', '')
last_flags_poll: float = 0


while True: while True:
now_m = time.monotonic ()

for event in pygame.event.get (): for event in pygame.event.get ():
if event.type == pygame.QUIT: if event.type == pygame.QUIT:
pygame.quit () pygame.quit ()
sys.exit () sys.exit ()

if (not balloon.enabled) and (not snack_time.enabled): if (not balloon.enabled) and (not snack_time.enabled):
if waiting_balloon[0]: if waiting_balloon[0]:
deerjika.talk (waiting_balloon[1], waiting_balloon[2]) deerjika.talk (waiting_balloon[1], waiting_balloon[2])
waiting_balloon = (False, '', '') waiting_balloon = (False, '', '')
try:
DB.begin_transaction ()
answer_flags = (AnsweredFlag.where ('platform', Platform.YOUTUBE.value)
.where ('answered', False)
.get ())
if answer_flags:
answer_flag = random.choice (answer_flags)
answer = Answer.find (answer_flag.answer_id)
match QueryType (answer.query_rel.query_type):
case QueryType.YOUTUBE_COMMENT:
query = Query.find (answer.query_id)
deerjika.talk (query.content, answer.content)
answer_flag.answered = True
answer_flag.save ()
case QueryType.SNACK_TIME:
snack_time.play ()
query = Query.find (answer.query_id)
waiting_balloon = (True, query.content, answer.content)
answer_flag.answered = True
answer_flag.save ()
DB.commit ()
add_query (broadcast)
except Exception as ex:
print (ex)

if now_m - last_flags_poll >= 10:
last_flags_poll = now_m
try:
DB.begin_transaction ()
answer_flags = (AnsweredFlag.where ('platform', Platform.YOUTUBE.value)
.where ('answered', False)
.get ())
if answer_flags:
answer_flag = random.choice (answer_flags)
answer = Answer.find (answer_flag.answer_id)
match QueryType (answer.query_rel.query_type):
case QueryType.YOUTUBE_COMMENT:
query = Query.find (answer.query_id)
deerjika.talk (query.content, answer.content)
answer_flag.answered = True
answer_flag.save ()
case QueryType.SNACK_TIME:
snack_time.play ()
query = Query.find (answer.query_id)
waiting_balloon = (True, query.content, answer.content)
answer_flag.answered = True
answer_flag.save ()
DB.commit ()
add_query (broadcast)
except Exception as ex:
DB.rollback ()
print (ex)
game.redraw () game.redraw ()






Loading…
Cancel
Save