프로야구 선수의 실시간 성적을 돌려주는 LINE bot를 만들었다(LINE bot+heroku)

개요



현역 프로야구 931명(2020/8/14현재)의 프로필&올해 성적을 가르쳐 주는 LINE bot를 만들었다는 이야기.

경위



자신은 프로 야구를 좋아합니다.

야구를 보면, 자신이나 상대 팀의 선수의 성적이나 출신 고등학교가 알고 싶어지는 때가 있었습니다.
다만, 신경이 쓰인 선수의 정보를 원할 때 바로 입수하는 것은 의외로 어렵습니다.
  • 선수 명감의 책이라고 전년도 성적 밖에 실려 있지 않다…
  • 속보 앱이라면, 조사하고 싶은 선수의 정보에 도착하는 데 시간이 걸리거나 원하는 정보에 대해 정보 과다하거나 한다…
  • 팀과 등번호밖에 모르는 선수라면, 조사하는 것 자체가 어렵다…

  • 그런 가운데, 1년 정도 전에 B리그 선수정보를 돌려주는 LINE Bot을 만들었다 기사를 배견했습니다.
  • 평소부터 사용하고 있는 LINE이 선수 명감이 된다! 책을 꺼내지 않아도 좋다!
  • 나오는 정보가 심플하고, 원하는 정보가 한눈에 요연!

  • 선수명을 모르더라도, 팀명과 등번호만으로 조사할 수 있다! (이것이 가장 기쁩니다)

  • 이런 툴이 프로야구에도 있으면 좋겠다고 생각한 것이 개발 경위입니다!

    프로야구선수명감bot



    여러가지 시행착오해, 이렇게 왔습니다!



    사용하고 싶은 분은 여기에서 자유롭게 부디!

    ※덧붙여서, bot가 누구와 친구인가는 자신으로부터는 일절 모르기 때문에 안심하고 이용해 주세요.

    기능



    다음은 시스템 구성도입니다.



    거꾸로 말하면, 이하의 동작입니다.
  • NPB 웹 사이트에서 하루에 한 번 현역 프로 야구 전선수 데이터를 취득하여 DB에 저장
  • LINE-bot에서 Webhook 요청이 있으면 DB에서 선수 데이터를 당겨 LINE에 표시

  • 코드 및 기능에 대한 자세한 내용은 Github (suibari/NPBmeikan_bot)을 참조하십시오!

    후리카리



    Keep


  • Promise 클래스를 사용한 동기화 프로세스로 Try 할 수있었습니다
  • SQL을 기본 정보로 공부한 이후 사용할 수 있었다. 손을 움직여 SQL 인젝션의 공격 원리와 대책 방법을 이해할 수 있었다
  • heroku postgres에서 인생 최초의 DB 구축 가능
  • heroku scheduler를 처음으로 사용하여 cron 같을 수 있었다
  • LINE flex-message를 사용하여 LINE상의 외형을 고안 할 수 있었다
  • 기존 이체 문자 검색 알고리즘을 통합

  • Problem


  • 기능 분할적으로 깨끗하지 않다
  • 코드가 더럽습니다. Don't repeat yourself의 원칙을 지키고 싶다. 예를 들어, request→cheerio→X 하는 처리는 몇번이나 나오고 있으므로, X를 인수로 콜백 함수로 한다든가
  • 야구에 자세하지 않으면, 숫자를 본 것만으로는 어떤 선수인지는 모른다. 누구에게나 알기 쉬운 정보를 제공할 수 없다

  • Try


  • 기능 분할
  • 리팩토링. 같은 처리를 함수화·클래스화해 정리
  • 어떤 종류의 선수인가, 성적으로부터 평가 코멘트를 생성하는가? 무작위로 생성 할 수 있으면 대단한 즐거움

  • 요약



    LINE bot 재미!
    특히 flex message로 보여주는 방법을 바꿀 수 있는 것은 즐겁습니다. 앞으로도 다양한 bot에 응용할 수 있을지도.

    만약 의견 질문, 여기가 자세하게 알고 싶은 등 있으면 꼭 코멘트해 주세요.

    좋은 웹페이지 즐겨찾기