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 random
import sys
import time
import wave
from datetime import datetime, timedelta
from enum import Enum, auto
@@ -60,40 +61,48 @@ def main (
pass

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

while True:
now_m = time.monotonic ()

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

if (not balloon.enabled) and (not snack_time.enabled):
if waiting_balloon[0]:
deerjika.talk (waiting_balloon[1], waiting_balloon[2])
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 ()




Loading…
Cancel
Save