winterjung / chatterbox

Python library for Kakaotalk chatbot
MIT License
77 stars 16 forks source link

Question: 10분이 지난 유저 상태가 만료되지않음 #10

Open krepe-suZette opened 6 years ago

krepe-suZette commented 6 years ago

:memo: Description

:computer: System

:fire: Error

image

카카오톡에서는 10분이 지나면 상태가 만료되어 /keyboard 를 호출하는데 챗봇에서는 만료된 상태가 반영이 되지 않네요. 언제부턴지 모르겠지만 갑자기 이럽니다.

:eyes: Expected behaviour

:building_construction: Steps to recreate

flask_advance.py 의 마지막줄app.run(debug=True)에서 host=0.0.0.0만 추가한 후 그대로 사용해서 PowerShell 실행 후 python flask_advance.py 로 실행. 테스트에 이용한 플러스친구 계정은 버려진 친구를 이용했습니다.

winterjung commented 6 years ago

Chatter는 내부적으로 유저 정보를 저장하고 있습니다. 이 때 1명 이상의 사용자를 가정하여 일정 요청 후 내부 유저 정보 중 10분이 지난 정보를 스스로 정리하고 있습니다. 올려주신 상황은 사용량이 매우 적을 때 발생할 수 있는 케이스로 다음 방법들로 해결할 수 있을 듯 합니다.

  1. Chatter(frequency=0)로 생성해 내부 유저 정보 정리 주기를 감소시킵니다.
  2. views.pychatter.route(request.json)chatter.memory.collect()를 호출해 수동으로 내부 유저 정보를 정리시킵니다.