eventMessage.py 2.45 KB
#-*-coding: utf-8 -*-
import os
import sys
import datetime
import random

sys.path.append(os.path.dirname(os.path.dirname("main")))
from Functions.getInstance import *
from Functions.checkFunction import *
from Functions.updateDatabase import *
from Functions.messageTypes import *
from Functions import pyjosa
import tones


# TODO 경우의 수를 나눠서 어떤 경우에는 시간에 따라, 보통 상황, 날씨에 따라, 특정 상황에 따라 메시지 선택


# 인식되어 메시지를 보내는 경우
def get_detection_message(accountId):
    kakaoUserKey = getKakaoUserKeyUsingAccountId(accountId)
    petId = getPetIdUsingAccountId(accountId)

    font = getFont(kakaoUserKey,petId)
    relation = getRelation(kakaoUserKey,petId)
    petName = getPetName(petId)

    now = datetime.datetime.now()
    # 상황에 따른 단독 메시지 가져오기
    if isMorning(now):
        message = tones.getSingleMessage(font, 'morning_detected', petName, relation)
    elif isAfternoon(now):
        message = tones.getSingleMessage(font, 'afternoon_detected', petName, relation)
    elif isEvening(now):
        message = tones.getSingleMessage(font, 'evening_detected', petName, relation)
    else:
        message = ''

    msg = pyjosa.replace_josa(message)
    return msg

# 날씨 기반의 선톡을 보내는 경우
def get_weather_message(accountId):
    kakao_user_key = getKakaoUserKeyUsingAccountId(accountId)
    pet_id = getPetIdUsingAccountId(accountId)

    font = getFont(kakao_user_key, pet_id)
    relation = getRelation(kakao_user_key, pet_id)
    pet_name = getPetName(pet_id)

    now = datetime.datetime.now()

    morning_weather = get_today_weather()['morningWeather']
    afternoon_weather = get_today_weather()['afternoonWeather']
    if morning_weather == '맑음' and afternoon_weather == '맑음':  # 오전 오후 모두 맑은날인 경우
        message = tones.getSingleMessage(font, 'sunny_day_weather', pet_name, relation)
    elif '비' not in morning_weather and '비' not in afternoon_weather:  # 오전오후 모두 비가오지 않는 날인 경우
        message = tones.getSingleMessage(font, 'not_rainy_day_weather', pet_name, relation)
    elif '비' not in morning_weather and '비' in afternoon_weather:  # 오전은 아닌데 오후에 비가오는 날인 경우
        message = tones.getSingleMessage(font, 'rainy_afternoon_weather', pet_name, relation)
    else:
        message = ''
    msg = pyjosa.replace_josa(message)
    return msg